Add grunt-dox and generated documentation.

I added grunt-dox and the grunt task to generate documentation. Everything seems to be okay on first pass, but we probably need to ping back and forth a few times to actually get this usable for the website.