Add comprehensive JSHint config

Refer to http://www.jshint.com/docs/options/