Crouton in a tab

Still a few issues to iron up, more testing, and a few missing features, but the general idea is there.

Known issues:
 - Sometimes the extension does not start with focus (you need to click)
 - Touch events
 - IME events
 - "Error target STRING not available" sometimes appears during switch (croutonclip/cycle?)
 - Limit number of resolution changes when resizing (it's slow because we send far too many "R" requests)
 - A leftover FIXME in the code, we should force courtoncycle instead of removing files
 - Move the websocket functions into a common file
 - Errors when loading NaCl module are not reported
Since this forks, the messages are going to get lost in the spew of the DM.  Would it be better to block until the extension is found before launching the DM?