Fixed bug in opcode lengths. Instruction set table I was using incorrectly stated
that LDH_C_A (0xE2) and LDH_A_C (0xF2) were 2 byte instructions when
infact they were one. This was causing incorrect instructions to be
executed after it.

Fixed mistake in cycle length of RETI instruction, correctly changed
from 8 to 16.

LCD scanline and timer counters now don't reset to 0 when they have reached the
point of incrementing the appropriate registers, and instead set back to the
excess values.

Emulator now passes timing instructions test rom.