Factored fluent Animation building methods into AnimationBuilder.

This is in preparation for adding ParallelAnimation and SequentialAnimation
which will allow packages of animations to be created and passed around, for
some larger entity to schedule.

This also nicely cleans up some fiddly business where addBarrier and clear had
to exist on the object returned by Animation.then() even though they were
meaningless. Now things relating to a top-level Animator are only in that class
while preserving the ability to fluently construct animations using
foo().then().bar().etc...