Introduce `board` key to the State struct
Overlay shape onto board for renderer
Draw based on numbers in board data

Previously, the brush used was always for the current shape.  This is
wrong and dumb.  Oops.
Handle collisions and validations

There were a few collision and validation steps that weren't in place.
This fixes that.  Now it's almost a full tetris game, though you can't
yet clear a line.
Remove useless function clause