The legacy algorithm only considers two adjacent points when computing

the bezier handles, which cannot produce satisfactory results. Animators

are often forced to manually adjust all curves.

The new approach instead solves a system of equations to trace a cubic spline

with continuous second derivative through the whole segment of auto points,

delimited at ends by keyframes with handles set by other requirements.

This algorithm also adjusts Vector handles that face ordinary bezier keyframes

to achieve zero acceleration at the Vector keyframe, instead of simply pointing

it at the adjacent point.

Original idea and implementation by Benoit Bolsee <benoit.bolsee@online.be>;

code mostly rewritten to improve code clarity and extensibility.