In Path#join, add first segment of second path again at the end after joining, if it was closed.

Closes #249.
Define Shape#size and #radius.
Return Raster#size as a LinkedSize.
Clean up Path#join() code.
Remove isParameter from Curve.evaluate()
Fix getCurveAt() signature.
Improve documentation for Path#split(), Curve#divide() and Curve#split().

Closes #189.
Add asString parameter to exportSVG() methods.
Move Path.Circle constructor above Path.Rectangle.
Update JSDoc.
Clean up various documentations a bit.
Docs: Write documentation for #import/export JSON/SVG, for both Item and Project.
Write documentation for Shape constructors.
Implement exportSVG() options parameter.

Supporting asString and precision so far.
Update exportSVG() documentation.
Fix {@default 0.5} values in documentation.
Fix Path Intersections example.
Clean up math function injection in Point and Size.
Make PaperScript math operator methods 'hidden' and use aliases to visible methods.

Avoids Path#add() being misinterpreted as an operator, and console.log(path + ' hi'); causing weird issues.
Update JSDoc.