A new `drawPath()` method and other improvements

* Added a new `drawPath()` method for creating complex paths much more easily. See the docs for details.
* Rewrote the inheritance model to make jCanvas layers much smaller and more memory-efficient. You can enable this new model by setting
`$.jCanvas.future.inheritance` to `true`. This will become the default inheritance model in a future release.
* Deprecated the poorly-named `jCanvas()` method. Its behavior is ambiguous and is incompatible with the new inheritance model. The method will be removed in a future release.
* Fixed a bug which prevented RGBA values from being animatable
* Added many more unit tests.