build: Don't build client-protocols for things

We don't use these.
xwayland: Split out the XWayland stuff into its own private struct
xwayland: Fix xwayland

Don't give us a freed pointer here.
wayland: Remove edges

This is an upstream change to xdg-shell.
wayland: Add support for the delete event
wayland: Add support for the set_margin request
display: Clean up screen management code
Disable clutter's high dpi scaling

mutter needs some work to work with high dpi scaling so disable
the scaling until that is fixed.

https://bugzilla.gnome.org/show_bug.cgi?id=723931
Fix build

I broke it while cherry picking the last commit.
display: Remove unused variable
default: Make the map animation more friendly
autogen.sh: use #!/bin/sh instead of #!/bin/bash

We don't have any bashisms in this file, so we may as well use sh.

https://bugzilla.gnome.org/show_bug.cgi?id=722530
wayland-surface: Make set_fullscreen / set_maximized and friends double-buffered
wayland-surface: Make set_margin double-buffered as well