Base class for animations that change libavg node attributes by
interpolating over a set amount of time. Constructing an animation object
starts the animation. If abort() isn't needed, there is no need to hold
on to the object - it will exist exactly as long as the animation lasts
and then disappear.