Improve game loop

Environment.TickCount was replaced with Game.RunTime that's based on
Stopwatch for increased accuracy.
Merge pull request #5850 from pavlos256/game-loop

Improve the game loop