This follows the same patterns that Wallpaper and Bar did and makes
TagOverlay use the same manage/render cycle as the rest of the WM.
We also switched to just use a poll timer like river-tag-overlay instead
of using the timerfd. I realized that the Zig stdlib doesn't actually
support timerfds for FreeBSD right now and I don't feel like adding them.
This changes it from using zwlr_layer_surface's to river shell surfaces
just so that the manage/render cycle matches as much of the rest of the
wm as possible.
I also made a few small fixes to Bar that I noticed while working on
the wallpaper change
The Wallpaper used to (mostly) live inside of Output. This moves that
into a new Wallpaper.zig file with a similar structure to that of Bar.
The code from WallpaperImage.zig is not in Wallpaper.Image