bindings: Handle invalid binding type
bindings: Handle failure in wl_array_add
window: Add an unfocus method instead of using focus(NULL)

This makes it easier for the xwm to keep track of the X11 focus, and
allows us to deactivate the window in an xdg_shell_surface
implementation.
window: Add swc_window_close method

This allows the window manager to close a window using a key binding.
xwm: Implement close
shell_surface: Implement close
launch: Make failures in drm{Set,Drop}Master fatal

If these don't succeed, the display server cannot function.
launch: Stop devices *before* activating old VT

Otherwise, if there is a display server running on the old VT, it may
try to acquire DRM master before we have released it.