Prevent "impossible" inputs in Controllers (i.e. up+down, left+right)

Add new --video=gif option, writes frames out to an animated GIF file.

NT mirroring is now setup in NewNES by passing rom.Mirrors() into
ppu.Memory.AddMirrors().  This is to let the ROM determine the exact NT
mirroring.