Add -Wall to CFLAGS
Update fields in gameboy_t

This patch removes the header field from gameboy_t and adds the mbc,
num_rom_banks and has_timer fields. Header was removed because the header
is already stored in the first rom bank, and the mbc, num_rom_banks and
has_timer fields were added to more easily track the hardware capabilities
of the current cartridge.
Load rom banks from image

This patch implements rudimentary rom loading from a buffer in memory.
It uses the header found in the first bank to discover basic game
information and then work out how many other banks need to be loaded.