Adapt to kwayland-server D&D changes. Remove internal roundtrip
Change Rationale
Kwin currently uses KWayland::Client to talk to itself over a socket, this means every operation needs to be made async and we have complicated races and code to handle that.
Commits
Adapt to kwayland-server icon changes
The icon is a property of the active drag which is managed by Seat, the DataDevice should not cache this.
Use a direct connection for X to wayland drags
We already use a direct DataSource object for transfer.
Use of the new public SeatInterface::startDrag allows us to start our drag directly.
Drop the internal connection for wayland to X drags
An AbstractDragTarget is introduced. This contains either the DataDevice we are dragging to or an Xwl bridge.
We set this on Seat along with the active surface.
In future this also allows getting rid of the move filter.
Drop the internal connection in kwin
This is now unused after the Xwl changes
Overall we've tried to go for a 1:1 behaviour match with the code that's already there only without the async roundtrips. I thi