Утечка памяти. У тебя addEventListener() в бесконечном цикле находится. При том, что addEventListener() не заменяет предыдущий обработчик, а прибавляет следующий:
for (var i = 0; i < 3; i++) addEventListener('click', function(e) { alert(e.type) });
document.body.click();
requestAnimationFrame() вызывается около 60 раз в секунду, вот и считай, 60 раз вызывается game.update(), 8 раз вызывается game.isDown(), 2 раза вызывается addEventListener(), за 30 секунд это 30 * 60 * 8 * 2 = 28800 обработчиков событий добавлено.