JavaScript sokoban clone using the html5 canvas.