Move to server-side build system

This adds a browserify-based build system to bundle the JS and CSS files for deployment. It is a big diff because several JS files are outdented, as they no longer need to be wrapped in a self-invoking function, as browserify takes care of isolating them as CommonJS modules. Also, many dependencies are removed from the repo, as npm is now used to fetch them (and napa used when they are not in npm's registry).

To run the build system in development, use `npm run watch` to automatically rebuild the css and js bundle files as the source files change. For deployment, use `npm run build` to build and minify the css and js bundle files. The minification step takes a while but results in a large savings in file size.