top-panel: Set background on top panel
This avoids showing regular windows under the top bar which can be confusing.
While this is not very visible in auto-maximize mode it can be seen in floating mode or when e.g. revealing the shell over fullscreen windows.
We add an outer container with background to the top bar so we can keep setting the margins on the top-bar itself.
The alternatives (using padding or to setting the margin on the inner elements) are more complicated as we move elements around due to notch avoidance and the margin also changes due to that. We would thus need to generate style classes on the fly or determine the elements dynamically which is more fragile.
We can make things slightly nicer by setting the solid background a bit later (when the splash closes) but let's do that with when zooming in the splash (!1264) as this will supply the necessary plumbing to phosh shell.
For that we introduce a new state of the home surface, I checked the listeners for home's state
property and couldn't spot any other behavior change triggered by that.
This is the last bit for 0.44 that needs fixing I'm aware off. @arun-mani-j @gautham_x please have a look.
There's some upfront cleanups that didn't fit elsewhere.