Xwayland
This whole mess starts an Xwayland server and listens to the bare minimum of events to get the surface to display.
Still need to pass keystrokes and quite a few other events, I didn't want to copy the whole logic out of wlc/weston so I've been adding events one at a time whenever they poped up. The architecture is globally similar but there are a few variations here and there.