Besides the KWayland output-management protocol there exist other protocol
extensions for output-management, for example wlroot's
wlr-output-management-unstable-v1 and kwinft_output_management_unstable_v1
protocols.
This patch refactors the Wayland backend such that alternative extensions can
be added in the future in an encaplusated way and are instantiated through a
plugin system.
All available Wayland backend plugins are fired up in parallel and the first to
return success will be used while all others are rejected instantly. In theory
this is racy if a compositor supports more than one of the supported output-
management protocols, but there is none out at the moment and it is unlikely to
happen in the future.