Introduce X11 layer-shell like positioner to simplify application codepaths
Right now our application code consists of a messy mix of explicit X11 code with event handling, and semantic wayland calls which get repositioned server side.
In addition some of our X11 code looked like it bitrot over time, there's a lot of unnecessary calls.
The objective is to move X11 specific logic out of application level code, so we can have one semantic path that's common and in sync for both.
The code is kept generic so it can move to a library, but proving it works just for krunner seems a good start.