Recursively include JSON representations of models.

This will be necessary to do all the rendering on the client side --
we need to send along JSON of Notebooks, which means we need to send
along JSON of Pages, which means we need to send along JSON of
TabGroups, which means we need to send along JSON of Boxes.
Add Backbone collections for the models.
Clean up routes a bit.

Now everything is nested (to a more or less reasonable level), which
should look a bit nicer (and more more sense).
TabGroups and Pages can be created/rendered/destroyed.

Holy actual fuck, this commit is giant and I'm pretty sure I don't
remember a lot of the things that I did. Nonetheless, shit
works. Caveats: buncha code duplication that I'll clean up later, and
complete lack of shine/polish/usability by humans.

Bad git style...
Boxes able to be created, updated, deleted.

There's some trickiness around how the right box type is instantiated
in various places; see comments for details.