fix(gameRunner.js): Fix call stack exceeded issue using setTimeout and recursion

Also add comments to Game.js, Hero.js, etc class files