improved platforming, music, and camera

- can distinguish keypresses from held keys (walljumping isn't
  annoying now)

- looping background music

- gamera-based camera follows the player
collision and platforming

a _lot_ of platforming features:

- stopping with friction

- stopping faster than you accelerate

- wall slides

- wall jumps

- fudge timers for jumps (you can jump slightly after you fall off a
add gravity system
get component-entity-system framework set up
add game.fnl with live reloading
add a repl and a dev script
add some modules and an initial main.fnl