Fix linting errors.
Update package.json.
Add a bit more strictness to jshint options.
Rewrite grunt config.