Handle intersection special case, when two curves' start and end points overlap
Add special case to examples.
Sort sub-paths before 'reorienting' during boolean calculations
Correct tolrance check (±EPSILON) in numerical solving methods.
Merge branch 'master' into bool-fix

* master: (127 commits)
  Fix edge cases in Curve._getWinding()
  Copy over parent style in Item#reduce().
  Fire key-up events for all currently pressed keys.
  Improve and streamline key-handling logic.
  Use renamed __options object in build script too.
  Correctly apply matrices to Raster items in #importSVG()
  Support passing DOM element IDs in calls to #importSVG()
  Update to latest Prepro.js and switch from global options object to __options, to avoid name clashes.
  Make directly setting view.onFrame work again.
  Update to latest Straps.js and remove unnecessary isArray argument in Base.each()
  Add missing DOCS comments.
  Fix issue where exceptions in onFrame handlers block future animations.
  Fix issue with JSON import.
  Add Node JSONtoPDF example.
  Implement Item#data cloning.
  Remove unnecessary Color#clone() since it's doing the same as Base#clone() now.
  Remove Base.merge() and use a new Straps.js feature instead.
  Improve build script to include dist file in paperjs.org website.
  Bump version to v0.9.14
  Fix setting #radius on Shape.Circle.
  ...
Fix #353 properly this time.
Fix more edge cases in #contains().

This should fix issue #346 for good.
Merge remote-tracking branch 'origin/master' into bool-fix
Clean-up bool-fix code.
Clean-up Numerical code.
Bump version to v0.9.15
One more fix in publish.sh
No need for generics in Base.
Use latest version of Straps.js
Fix Array#sort() call in reorientPath(path) for IE.

IE expects integer values in the compare function, not boolean. Closes #350 again.
Implement Rectangle#getArea() and use it in reorientPath()
Only handle and fire mousemove events when the user's either dragging or moving the mouse within the view.

Fixes #352.
Implement asynchronously loading Rasters from disk and remote locations for Node.js

Closes #328.
Avoid issues with _matrix being undefined when items are created and added in a certain sequence.

Closes #279.
Remove legacy browser code since we're not supporting IE8 and below.