* compositor: implement wayland socket handover
This commit implements the compositor side of the Wayland socket
handover protocol as described in the [KDE Wiki]. The CLI options are
chosen so that they are compatible with Kwin.
[KDE Wiki]: https://invent.kde.org/plasma/kwin/-/wikis/Restarting
* main: verify that --wayland-fd is a valid file descriptor
* main: fail if only one of --socket and --wayland-fd is passed
* copy desktop file only if does not exist
- Should no longer overwrite modified desktop files for pre-packaged versions of Hyprland.
* re-add cleaninstall with deprecation notice
Co-authored-by: NotAShelf <NotAShelf@users.noreply.github.com>