Implement chained timing functions

These are specified through the following attributes on Timing ...
- easing: A space-separated list of timing functions
- easingPoints: A space-separated list of the end points of the input/output
  ranges over which the timing functions apply. The following keywords are also
  allowed ...
  - distribute: Distribute timing functions evenly in time.
  - align: If the TimedItem with which this Timing object is associated is an
    Animation with a keyframe or path effect, align timing functions with
    keyframes.

See http://dev.w3.org/fxtf/web-animations/#timing-function-chains for details.

Note that alignment with a path effect is not yet implemented.