Added Grunt.js support & jshint fixes

### Added Grunt support:

First run `npm install` - this will install grunt and its relevant tasks.

You can now:
1. Build your `build/` files by just calling `grunt` from the app root.
2. Constantly hint your code while writing it: Run `grunt watch` and as you save your `src/*` files or `tests/*.js` files, it will be re-hinting those.
3. Run a local server to run the tests. Run: `grunt connect` to start a server on port 3000.
4. Hint your code without a build: Run `grunt jshint`.

### Hint Fixes:

src/group.js
  - No need to `var parent` - parent already exists as argument.

src/matrix.js
  - No need to var: `x`,`y`,`z`,`a`,`e` - already defined.

src/polygon.js
  - No need to define `closed` and `curved` - already defined.

src/renderer/canvas.js
  - Added missing `break` statement.

src/renderer/svg.js
  - Moved `+` to end of line rather than beginning of new line.

src/renderer/webgl.js
  - Moved `deleteProgram` and `deleteShader` after the `throw` statements
    since they are unreachable otherwise.
  - Removed `return null` unreachable code after `throw` statements
  - Added missing `;`.

src/two.js
  - No need to `var n`
  - Moved the `var x1, y1, x2, y2, x3, y3, x4, y4` and `var reflection` - because var is function scope not case scoped.

src/vector.js
  - No need to `var x` and `var y`.