Adds Websocket support to HTML frontend

* Sends keyboard events through a websocket
* HTML updates no every 200ms like with `XMLHttpRequest`, but only when the frontend is marked as dirty
* Works in browsers that don't support Websockets too (just as before)

> The only problem I have doesn't seem to be related to Websockets: inserting text is VERY slow.
> ```
> [10/22/14 16:31:00] [FINE] Ran text command: insert 4.657733896s
> ```