How to build a JavaScript-based 2D platform game?