first cut ui animation controller
skin opacity
per-widget animation opacity. only implemented for ColorBackground so far because it would all work better with per-widget rtt and I want to test that first
accumulate opacity down the widget stack
add opacity to widgets that aren't drawn through the skin
move easing outputs into the proper range for their type
widget position animations, against offscreen
animation controller should take care of object lifetimes
setup target at construction, avoid a switch
track running/completed animations, kill running ones via a pointer to the animation
chained animations
zero/one easings and pause target, for constructing delays
fire callbacks on completion
no need to expose the whole animation controller