Let's solve #729, Curved Text.

This pull request adds the basic ability to fabric.Text-like's to observe a fabric.Path. It includes a variety of options to control that relationship, such as observing rotation, simple collision detection, and a controllable distance offset along the path. It reimplements both JSON and SVG exporting features. It reimplements the JSON importing feature. It contains several minor bugfixes to existing fabricjs code. It provides detailed commentary of the algorithms related to the text-on-path feature for future development.
Bugfix. Originally, mixin puts a "filter: url(...);" which crashes in case of fabric.IText. Original code has check for type equaling "text" but not "i-text". Fix adds check for "i-text" and for existence of shadow to begin with. Unfixed SVG's crash Firefox's SVG parser (because they point to an element with a non-existent ID).