Add Grunt and JSHint linting

This isn't quite ready yet -- @clone1018 and I are going to clean up the Javascript before this gets merged, so builds pass