GameEngine =>the initial updateCanvas is now called with requestAnimationFrame.  And updateCanvas always calls requestAnimationFrame at the end.