Rework sync grab event delivery

This is still mostly untested, but it doesn't define random unused
methods
and call non-existent ones any longer.
Remove an unnecessary configure

We already send the geometry over as part of the creation request.
Removed some leftover toolkit API
Move the toolkit back into the demo

It's small and insignificant enough now that it can be in here.
Move most server calls to property bag style

This eases our transition over to having a fully async
request/response style like the X11 protocol, allowing
us to put clients on web workers.
Invalidate only after getting a ConfigureNotify

This prevents bad redraws when changing image sizes.
grabPointer does not make a passive grab
Draw the fake terminal window ourselves
Rename _handleInputEnterLeave

It's not an input handler, so rename it to match sendFocusEvents.
Improve input event dispatch

Remove a chunk of complicated code that was meant
to simplify and isn't really needed anymore.
Implement support for key events

And add a simple toy demo to the terminal app that does nothing useful
yet.
Remove full redraw debug

Conflicts with key press events.