1. Clean up code so `Source/Cesium.js` loads cleanly in a Node app.
Not all functionality is supported or tested.
2. Remove some unecessary jsHint global configurations
3. Add `.npmignore` so we include the minimum needed to use Cesium in a browser or from within Node.
4. Update NPM modules to latest version.
5. `requirejs` is now a non-dev dependancy for publishing to NPM.
6. Add `index.js` for requiring Cesium as an NPM module.
7. Update package.json with info needed for NPM publishing.
So it turns out that jsHint no longer works on Node 0.10.x, which is
ancient anyway. So I updated Travis to use 0.12.x. I then decided to
update our .jshintrc to take advantage of the latest JSHint features and
that produced a TON of new (perfectly valid) errors about unused variables,
empty code blocks, and unused defined globals, which I have now cleaned up.
This also uncovered a bunch of other stuff that I also fixed.
In summary:
1. Update travis to use Node 0.12.x
2. Update .jshintrc to take advantage of new features
3. Fix bad code pointed out by said features
4. Remove all uneeded `jasmine` globals in spec files
5. Generate a `Specs` specific .jshintrc as part of the build which enables jasmine mode in jshint
6. Move `QuadtreePrimitive` to Development Sandcastle gallery.
7. Update NPM modules to latest versions.
8. Lock NPM modules to specific versions to avoid untested updates in the future.
9. Ran `sortRequires`
1. Move all build related code to gulpfile.js
2. Add `npm` scripts for all gulp tasks so no one needs to install gulp globally.
3. Added new `jshint-watch` task for continually running jsHint on changed files and writing the results to the console.