Added the ability to draw arc text, and fixed a number of bugs

* Added support for text along an arc. See the docs for details
* Fixed a bug in which `rotateCanvas()`, `scaleCanvas()`, and `translateCanvas()` could not be added as layers using `addLayer()`
* Fixed a bug which would affect the positioning of BÃ©zier curves in the `drawPath()` method

* Fixed a bug in which a rectangle with negative `width` or `height` specified could not be drawn if it had a `cornerRadius` greater than zero
* Fixed a bug in which a rectangle could not be drawn if it had a `cornerRadius` less than zero