What is this? A new enemy approaches!

This is a rather large, unstructured one... I intend to make future PRs more structured.

Basically, my aim is to move this away from "small hack" to "okay, let's build an app" since we're using this internally now.

1. Rewrite the JS code to CoffeeScript.
   This is both a stylistic change, and a change to make the code more robust. There were a lot of globals leaking all over, for one. Forgetting about the `var` keyword is just too easy.
2. Extract a few models; extract different concerns to different places.
3. Rework markup to be prettier and more readable.
4. I'm pretty sure I fixed a large security vuln as well; with user parameters passed on to `read_file` in the original code.

There's still much work to do, but this takes the project a long way. I plan to add tests in a future pull request. Not being able to TDD is really painful for me. Reloading the browser and visiting four different URLs all the time is not optimal. :-(

You might want to update the README later when most of the code is "good enough" not to be labelled "experiment" and "hack" anymore.