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.
I would like to ask you something,
I don't have full view of code yet.
I saw this selmplified path, and how the render method calls it.
From what i read, the user decide to use full path or simplified ( approximate ) path.
Would it possible to have simply this.path to store the path we want, and this.originalPath to store the original path that comes from SVG or ELEMENT method?
In this way we could avoid the additional parameter on the _render method and less change on the render method.
This because i'm trying to unify the render method of the different class where possible.
I don't understand why this approximate path is used, if it is for  performance or to get a good loking text position.
Thanks, Andrea.