Push blocks on a timed interval.

This code's been just chilling here for, well, probably a year; probably time
to commit it.

Oh, and it doesn't appear to work.  Don't worry, I'll figure that out after I
fix some other bugs that are being annoying.
Calculate gameboard rows/columns up-front.

This is helpful to avoid logical errors - instead of having to think about
positions and screen widths and stuff, we can refer to rows and columns (which
is what we want, anyways).