Ben and Gustavo, this is a really large refactor of the front end. Feel free to throw any of this out if you feel like it's the wrong way to go.
Here's what I did:
npm install -g grunt
With these changes, we're at 1.6k minified with uglifyjs and gzipped. I don't know if you two have a goal as to the final filesize or browser support, but most of that is JSON2. Without JSON2, it's 442 bytes gzipped. Even if we don't give up <IE8 support, we could handroll our own JSON.stringify. JSON2 handles every possible edge case and has features that we probably don't need.
add grunt build file and qunit test framework
temporarily remove JSON2 and modify code to pass linter
separate json2 from logger, and add concat/minify grunt task
add dist directory to gitignore
update path to logger file in test
remove custom ajax implementation and include microajax library in build
add logger-test file