Game loop: use a constant timestep
Created by: christopho
Increment a ticks counter at each frame of the game loop. And use this ticks value instead of real time for everything: movements, animations and timers.
This will make the timestep constant, and fix many issues we have on slow machines due to undeterministic timesteps.
This will break the timers API, the movement API and the sprite files because delays will be specified in ticks instead of milliseconds.