fixed a previously un-noticed error in the construction of the game
loop, this error was resulting in the calculation being done, then the
system waiting a time to continue. the correction has the start time
taken before the calculation to ensure that, while retaining control of
the loop, the game runs at a reasonable framerate