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
We could, but there isn't a lot of commonality between `findres` and `setres` (well, technically, we could try to add the mode, see if it fails, and fall back on the closest resolution, but I don't think this is what users expect of `setres`...).

`findres` is definitely not a good name though. `setbestres`?