[server] Add surface data proxy mechanism
Summary:
Allows a compositor to set a proxy surface to handle drag and drop
operations place of the actual surface the drag originated from.
One proxy surface can handle multiple origin surfaces at the same time. These
need to get registered once. The active remote surface gets set when a pointer
button is pressed on the surface.
Test Plan: Manually with KWin's Xwayland DnD patches.
Reviewers: KWin
Subscribers: davidedmundson, kde-frameworks-devel
Tags: Frameworks
Differential Revision: https://phabricator.kde.org/D15421