get animation() {
      return this.animation$descriptor
    }
Handle the special "animation" property. The descriptor should be an object or array
of objects defining a set of keyframes and their playback parameters. Keyframes are
defined by numeric keys from 0 to 100, each defining an object with the target
property values for that keyframe.

  animation: [{
    0: {rotateZ: 0, color: 0x000000}, //can also use key "from"
    100: {rotateZ: Math.PI * 2, color: 0xffffff}, //can also use key "to"
    delay: 0, //starting delay in ms
    duration: 2000, //total anim duration in ms, defaults to 750
    easing: 'linear', //easing for the whole animation, defaults to 'linear'
    iterations: 5, //number of times to loop the animation, defaults to 1. Set to Infinity for endless loop.
    direction: 'forward', //either 'forward', 'backward', or 'alternate'
    interpolate: {color: 'color'}, //mapping of property names to Interpolators.js names or custom functions
    paused: false //if true the animation will be paused at its current position until set back to false
  }, ...]

Internally the animations will be built into a set of nested tweens:

|--------------------------- Main MultiTween ------------------------------------|

|------------- Anim 1 MultiTween w/ easing+repeat ----------------|
|--- prop1 tween 1 ---|--- prop1 tween 2 ---|--- prop1 tween 3 ---|
|--------- prop2 tween 1 --------|--------- prop2 tween 2 --------|

                   delay -->|-------- Anim 2 MultiTween w/ easing+repeat --------|
                            |----- prop3 tween 1 -----|----- prop3 tween 2 ------|
                            |------------------- prop4 tween --------------------|
                                           |----------- prop5 tween -------------|