Throwing in some CodeMirror'd tabs.

HTML, CSS and JS tabs with appropriate highlighting.
Now the 'Result' tab works.

* Introduced a concept of a 'switch strategy' for the tabs, which allows
  custom behaviour for different types of tab. Initially this seemed
  like a pretty good idea, but now I'm not really sure we need it. Will
  take a look at some point.