Internal cleanup for Animator framework

This CL includes the following changes:
1) Remove redundant field mPlayingState in ValueAnimator.
2) Refactor AnimationHandler so that all of its interaction with Choreographer
   is through an interface. A custom provider that implements this interface can
   be plugged in and provide timing pulse that are independent of Choreographer.
3) Better encapsulate AnimationHandler and ValueAnimator. Interaction between
   the two is done through register/unregister frame callbacks as well as
   AnimationFrameCallback interface.
4) Change how animation delay is handled.

Change-Id: Icd49f727321c362dab49b5b33815333c9ea559e0
4 files changed