Switched to a fixed timestep system

Switched from a variable timestep system, which uses deltas in the tick
function to preserve time, to a more reliable fixed timestep system
which instead uses interpolation in the render function to move between
ticks (which unlike in variable time, do not execute every frame).