More robust rom reading. Fixed error in PPU read.

- Changed the way roms are read so that I could read any number of
banks.
- Added several functions in MEM.cpp to accomodate this change.
- Added a function (getPPU) in MEM.cpp that would return proper values
when PPU.cpp tries to directly access the PPU memory.
- Fixed a problem with VRAM 0x2007 reads where the data being returned
if the address was < 0x3000 did not account for Pattern table reads
(located at < 2000).  It only accounted for nametable reads.  Added 'if'
to correct that.