Cursor movement

I am learning a lot about javascript object strategies. I should round this out by delving into JS Good Parts.

As the title says, arrow key input moves the cursor around the board. Board checks bounds, erases old stuff, draws new stuff in its place. It was a bit dicey for a while as I uncovered that an untransposed board_fill meant that array accesses needed to be of the form grid[y][x]. I packed lib functions into redraw_affected. Not sure that I like that strategy since it succeeds only because the bound obj is global. But, with code folding, it hides stuff nicely. Global 'enum' objects are pretty nice, though.

Next: drag the blocks with wasd keys. That means expanding valid_move, changing render_change a bit, and add another key listener. JS keyboard interaction is pretty strange.