Emu: Enhance the base emulator infrastructure

Implement support for dipswitches
Make device simulation time based.
Enhance graphics support.
Add a simple machine loader.
Move AddressBus from the machine.
Update input handling.
SDL: Updates

Add mapping for more buttons.
Add scale2x rendering support.
Various fixes and updates.
Cpu: Z80 Fixes

Import the zexall test rom.
Add missing instructions based on the test rom.
Start converting the IX/IY to a unique dispatch.
Fix a lot of flags issues.  Apparently lots still remain.

TODO:
aluop a,nn....................  ERROR **** crc expected:51c19c2e found:1b9eddc6
aluop a,<b,c,d,e,h,l,(hl),a>..  ERROR **** crc expected:06c7aa8e found:e4476bb8
aluop a,<ixh,ixl,iyh,iyl>.....  ERROR **** crc expected:a886cc44 found:121b0f4a
aluop a,(<ix,iy>+1)...........  ERROR **** crc expected:d3f2d74a found:db7a9e65
bit n,<b,c,d,e,h,l,(hl),a>....  ERROR **** crc expected:5e020e98 found:e6624aeb
<daa,cpl,scf,ccf>.............  ERROR **** crc expected:6d2dd213 found:12d3b1e9
ld <bcdexya>,<bcdexya>........  ERROR **** crc expected:478ba36b found:ac17ea76
Galaga: Get it working

Implement enough to actually play Galaga.
Cpu: Add the Z80-lite LR35902 Cpu used by Gameboy.

Ported from previous emulator, needs some refactoring still.
GB: Gameboy emulator

Import old gameboy from old codebase.
Supports per-scanline rendering (pixel clock is still wrong).
Cpu: MOS 6502 Cpu Core

Simulation of the m6502 core.
NES: Nintendo Entertain System Emulation

Add nintendo emulation.
Mappers for zelda, megaman, super mario, etc.
Uses per-pixel emulation.