map-layer: Rework tile allocation
ShumateMapLayer currently breaks the GTK4 allocation model by calling gtk_widget_size_allocate() outsize allocation, and by queueing allocation during allocation (by removing and adding widgets). Rework its allocation to not do that anymore. Make the allocation vfunc only allocate, and never queue allocations. Despite the scary diff, this change merely moves the contents of the shumate_map_layer_compute_grid() function to inside the allocation vfunc, and the contents of the allocation vfunc to recompute_grid().