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:
 - The extension does not start with focus (you need to click)
 - Touch events
 - IME events
 - Caps lock is not synchronized (https://github.com/dnschneid/crouton/pull/1144#discussion_r19914500)
 - "Error target STRING not available" sometimes appears during switch (croutonclip/cycle?)
 - Waiting for extension to connect before starting WM is potentially racy (the setres 1024 768 trick to provide xfce with a reasonable DPI fails as the extension starts too soon)... (actually, this is more of a xorg+dummy bug: we could get rid of that if dummy supported xrandr 1.2)
 - On stable channel (`6158.70.0`), the extension/Chrome sometimes crashes on disconnect (fairly frequently): clearly a Chrome bug. Never seen that problem on canary.

Review entries pending:
 - Logging: https://github.com/dnschneid/crouton/pull/1144#discussion_r19862772
 - Super_L: https://github.com/dnschneid/crouton/pull/1144#discussion_r19866490

Fixed:
 - Window title should correspond to chroot name
 - A leftover FIXME in the code, we should force croutoncycle instead of removing files
 - Errors when loading NaCl module are not reported
 - Limit number of resolution changes when resizing (it's slow because we send far too many "R" requests)
 - Move the websocket functions into a common file
Leave it in the git history in case we need to refer to it, but it'd be better to properly check the assertion above and remove the extra nested logic.