Basic translation support

Constant translation, no easing (yet).
Translation easing support (sort of)

It's broken right now, but will work more later. It's depending on the
time which is wrong, since easing makes it last longer than you'd
initially expect. We need to make the Easing struct be increments of
distance and not increments of time.
Fixed translation easing

Easing is based on the distance traveled rather than the time taken,
since the time grows the larger the easing percentages that are used.