game: improve paths and tweenings, new path-related components

* improved path and tweening so that they could be used from scripts
* separated tweening into 1 base class and 2 actual classes:
  SingleTweening and SequentialTweening. Thus it's now possible
  to create a tweening which consists of other tweenings
* implemented PathComponent and FollowPathComponent which implement moving
  along a path with tweening