Basis for animation

No visible changes (hopefully). Provides basic class and functions for
animation. All it is missing is _moveIn and _moveOut, the functions
that actually implement the animation logic.