theater: please welcome the theater

The theater is where messages are displayed and input is received. It stores a pointer to the current room, among other things.

Broken:
* URL generation and URL handling need to be unified.
* Routing isn't hooked up to History API.
* Room messages are still disconnected from the server.
* Flat UI needs to be removed. All the classes make it impossible to read the HTML.