Modify build system and closure dependencies

Slightly refactors the build system, and changes the way closure source files are included.

Before, source files were included in html files manually.  Now we generate a file, colab.dep, using the script build_closure_deps.py, which contains the dependency graph of the colab code.  By including this file (as a js source file) and importing a single namespace, the closure library will automatically load all the dependencies of that namespace.

This requires re-running build_closure_deps.py when dependencies change, but this is much easier and more reliable than manually including the source files.