Connecting and sending things works now, we can supply a callback
with a message sent to Zephyros which gets called once Zephyros
replies.

The interface for this is thus a bit awkward, for example a function
to retrieve all open windows would take a function as its argument
that takes a vector (containing the windows).

It'll probably be callback spaghetti, but we'll see about that later.
Added TODO file