Broken LCD background tile implementation, needs debugging but is first light.

add: window title now displays FPS
change: debugging now prints to the console again
change: move keyboard processing code out of GameBoy and into main loop
change: LCD default state should now be valid
change: LCD now writes (incorrect background tile data) to the frame buffer
cpu_instrs LCD display works yet not much has changed.  Added support for LYC, Vblank interrupt, STAT interrupts.

change: CPU is now a bus device that handles IF, IE, KEY1
add: LYC
add: vblank interrupt
add: STAT interrupts
Truly stop the LCD driver when it's disabled.

change: LCD driver stops scanning when disabled, at starts back at top of frame buffer when reenabled.