wayland: switch to experimental xdg interafce

In the long term the xdg desktop shell will replace the current wl_shell and
wl_shell_surface interface.

This interface provides more facilities for desktop interactions.

This interface is not stable as of now and everything can still change.
wayland: follow new xdg changes

This introduces 2 new features that we make use of. First is the delete event
which tells the client that the compositor likes to close the window. This
allows external clients to close mpv (like server side decorations).

Second is the new configure event which removes the edges parameter. If the
window was resized on the top left corner (as an example) then the compositor
will move the window by itself on the next surface attach. This removes a lot
of code, but there are now some glitches. The wayland/shm output works well but
the osd is sometimes off and the wrong size. The wayland/opengl output is now
pretty broken. I don't know why, but I hope it will resolve itself once the api
is stable (I can guarantee that it won't resolve itself).

EDIT: new changes were added to this rebase