libweston-desktop: implement the new xdg_shell (stable) protocol

Some clients like the mpv video player now request the xdg_shell
protocol so these will fail if the compositor only provides the
xdg_shell_unstable_v6 protocol. Compositors like mir and gnome provide
both protocols.

The two protocols are very similar therefore the code in xdg-shell-v6.c
has been refactored to work with the new xdg_shell protocol and now
resides in xdg-shell.c.

All the sample programs including compositor-wayland.c have been changed
to use the new protocol.
2 jobs for xdg_shell in 4 minutes and 4 seconds (queued for 1 second)
latest
Status Job ID Name Coverage
  Build
passed #93133
build-native-autotools

00:04:04

passed #93134
build-native-meson

00:02:49