Dialog: Split wayland parts into new class
The PlasmaShell wayland parts are split out of Dialog, allowing for re-use in upcoming replacements.
In addition we move away from KWayland in favour of generated classes and QtWaylandClientExtension. We also change the lifespan of the user-facing class to match the Window rather than the plasma_surface.
This allows a caller to call setPanelBehavior once and sending it multiple times as the underlying shell surface is recreated should happen automatically.
This also should fix ordering applying initial plasma_surface properties before the first commit.
Whilst Dialog could now be cleaned up further, this commit does not do so as it is being phased out.
Edited by David Edmundson