compositor: Add new_surface signal
xwm: Use two lists of windows instead of an array of window entries
xserver, xwm: Drop swc_ prefix for internal functions
xwm: Claim WM_S0 selection, as specified by ICCCM
xwm: Make event handling functions static
xserver: {abstract,unix}_socket -> {abstract,unix}_fd
Update to new implementation of XWayland

Fixes #6
xwm: Handle get_wm_name failure
{seat,keyboard,pointer}: Support protocol version 3