scene: Rework window elevation
The order in which windows are painted is computed dynamically every frame. On the other hand, with the introduction of items, it's desired to avoid doing that so repaints can be scheduled as needed. The unification also opens the possibilities for more rendering related refactors to make the code nicer and more reusable.