Add tests for Point
Bugfix Quad and Vector

Quad:
- quadrant, opposite, and adjacent are enforced to be positive
- cleanup fromPoint() static method
- cleanup fromPoint() static method
  - translate any degree, positive or negative to within 0-360 range

Vector:
- length is enforced to the positive
- degree defaults to 0
- simplified fromQuad() static method
Add cached pow() and round() methods to tools

pow() is identical to Math.pow except it is cached. round() is similar
to Math.round() except it takes a decimal precision as the second
argument.
Hack to prevent browserify from trying to bundle node-canvas

See https://github.com/substack/node-browserify/pull/378