marker-layer: Rework allocation
ShumateMarkerLayer performs size allocation in such a way that is not compliant to GTK4 requirements. The most important constraint is that widgets can't queue allocations during allocation, and ShumateMarkerLayer breaks that by showing and hiding widgets during allocation. Rework ShumateMarkerLayer to not call gtk_widget_show() nor gtk_widget_hide() during allocation. Instead, use gtk_widget_set_child_visible(), which prevents widgets from painting, and also allows us to skip allocating them. In addition to that, rework the calculations to determine the child allocation. They were incorrect, and didn't account for the center of the viewport correctly.