Stop undefined backgrounds from freezing game

Addresses issue #27. Please review this before merging, since it's not full tested.

Apparently the tile and attrib arrays are 32x32, which is bigger than "real" screens (real screens are only 30x32. Somewhere in the code, the first 960 bytes of this array are initialized properly, but line 1010 returns an undefined tile when reaching the first byte of row 30.

I may be making some assumptions here. Hopefully someone with better knowledge of the system can provide some more insight.