Mapper framework. Mapper 2 and 3. Open file fixes.

- Made a number of changes to how roms are read in TinerasNES::OpenFile
- Added/tweaked several functions in MEM.cpp to get mapper pointers
working
- Mapper 2 Notes: Had to AND data coming in to setMemoryMappedCPUByte
with 0x7F otherwise, some data was larger than the number of banks.
- Most of the mapper 2 games seem to be playing properly.  However, some
are not.
- Looks like data is not being properly cleared when Roms are opened
without first closing the current one.
- Added code for mapper 3.  Most games work fine.  Some don't.
- Fixed problem where opening a new game was not resetting all settings.
//resetSystem was commented out in Open Rom menu option.
- Don't know if there are any changes, but if there are, they are very
minor.  I'm just doing this because I can't remember if I backed up
since '082111b'.