Add FlashSocket

This lets the client attempt to connect to the irc server directly,
which performs better for everyone. will fall back to ajax when flash is
unavaliable.

UTF-8 decoding happens in javascript to avoid flash<->javascript
stupidity and handle partial codepoints.
Add WebSocket support

Currently this uses protocol name "irc" and expects one irc message per
websocket message with no terminating CR-LF.