Tween timelines.

This pr adds a higher level of abstraction to engine's Tween definition.
In engine-schema:

Now BaseTween holds the common data between a Timeline and a Tween.
This way we can generalize TweenCreator into BaseTweenCreator.

A timeline can be used to create complex interpolations made of sequences and parallel sets of tweens. A timeline has a list of children and can be executed in two modes:
-**Sequence:** all the children are executed one after another.
-**Parallel:** all the children are executed at the same time.

The children can be tweens or nested timelines.

Timelines also support delay, repeat and repeatYoyo (also pause(...) but it's not implemented).
After a lot of testing I'm sure that there is a bug if we execute repeatYoyo on a timeline that has other nested timelines: the "repeatYoyo" phase is not completed correctly, and I think it's Universal Tween Engine's fault. Anyway this is a very specific usecase that can be avoided by creating other similar interpolations.

There is a simple example added to the CoolDemo.

As you can see there wasn't necessary to change anything else in the CoolDemo json files.