window-actor: Clean up has_shadow

This has some particularly picky #if 0'd code. Since the history for
it isn't illuminating in the slightest, I'm just going to kill it.
wayland: Implement wl_seat v3

The new XWayland DDX flat out requires seat v3.
wayland: Replace make_toplevel / window_unmanaging with set_window

The make_toplevel / window_unmanaging interface has never made
a lot of sense to me. Replace it with set_window, which does
effectively the same thing.

It's still not perfect in the case of XWayland, but I don't think
XWayland will ever make me happy.
wayland: Rename the wl_surface interface handlers

We usually name the method handlers after the direct name
of the interface methods. Do that for wl_surface as well.
xwayland: Use %m instead of manual strerror(errno)
xwayland: Move global initialization down
xwayland: Split out the code that creates the XWayland sockets
xwayland: Move display_name into choose_xdisplay
xwayland: Fork the X server ourselves

gspawn just isn't us the fine-grained control we need for starting
processes and leaking file descriptors in.
xwayland: Make file cosmetically modern

Put a modeline, include "config.h", and shift around the include ordering
xwayland: Split a helper out

This will make the next commit, which ports to the new ClientMessage
API, more understandable.
xwayland: Split another part of the initialization sequence out

This will be used from a SIGUSR1 handler.