Build with Grunt

- Uses Grunt to lint and minify the files to dist/
- Moves third party code to Bower dependencies
- Mostly aligns the repo with the jQuery styleguide now as per the Contributing.md. There are a few things like Tabs vs Spaces and parameter spacing that still need to be addressed.