Complete rewrite of the hobby module to be more robust and versatile.
Based on better understanding.

Robustness was gained by basing some of the calculations on the polar
form of the vectors. This makes calculations possible where before
NaN was the result.

Also, new apis based on polar coordinates where established and the
naming of the methods was overhauled.
Basic actions are:
 * tension2magnitude
 * magnitude2tension
 * tension2control
 * control2tension

 Please enter the commit message for your changes. Lines starting
changes according to comments of @rrthomas
Merge pull request #229 from graphicore/redo-math-hobby

Complete rewrite of the hobby module to be more robust and versatile.