[animation] Simplify the Animation code
[animation] Simplify the Animation code

After long deliberation, the Animation class handling of the
:mode, :duration and :loop properties, as well as the conditions
for creating the Alpha and Timeline instances, came out as far too
complicated for their own good.

This is a rework of the API/parameters matrix and behaviour:

  - :mode accessors will create an Alpha, if needed
  - :duration and :loop accessors will create an Alpha and a Timeline
    if needed
  - :alpha will set or unset the Alpha
  - :timeline will set or unset the Timeline

Plus, more documentation on the Animation class itself.

Many thanks to Jonas Bonn <jonas@southpole.se> for the feedback
and the ideas.

tardyp/clutter,Distrotech/clutter,djdeath/clutter,GNOME/clutter,ebassi/clutter,spatulasnout/clutter,djdeath/clutter-android,ebassi/clutter,heysion/clutter-clone,ebassi/clutter,jigpu/clutter,djdeath/clutter-multithreaded,Distrotech/clutter,djdeath/clutter,heysion/clutter-clone,nobled/clutter,collects/clutter,nobled/clutter,djdeath/clutter-multithreaded,GNOME/clutter,jigpu/clutter,collects/clutter,spatulasnout/clutter,heysion/clutter-clone,GNOME/clutter,nobled/clutter,rkudiyarov/clutter_osx,kerrickstaley/clutter-vala,dlespiau/clutter,heysion/clutter-clone,heysion/clutter-clone,jigpu/clutter,djdeath/clutter-multithreaded,rkudiyarov/clutter_osx,Distrotech/clutter,jigpu/clutter,dlespiau/clutter,djdeath/clutter,jigpu/clutter,ebassi/clutter,spatulasnout/clutter,collects/clutter,Distrotech/clutter,djdeath/clutter,GNOME/clutter,djdeath/clutter,tardyp/clutter,kerrickstaley/clutter-vala,collects/clutter,collects/clutter,GNOME/clutter,rkudiyarov/clutter_osx,spatulasnout/clutter,djdeath/clutter-android,ebassi/clutter,jigpu/clutter,djdeath/clutter-multithreaded,kerrickstaley/clutter-vala,Distrotech/clutter,djdeath/clutter-android,djdeath/clutter-android,dlespiau/clutter,djdeath/clutter,kerrickstaley/clutter-vala,spatulasnout/clutter,djdeath/clutter-android,Distrotech/clutter,rkudiyarov/clutter_osx,tardyp/clutter