New websocket protocol
Move message and conversation storage to IndexedDB

Pretty easy, thanks to backbone.

Also adds the unlimitedStorage permission.
Asynchronize first convo render
Conversation cleanup/minor refactor
Unkink rendering event chain
Consolidate message callbacks

Register the runtime callback at the top level view rather than having
each conversation view register independently.
Also refactors Layout into InboxView.