Remove jpeg/gif from -video option, now use -recorder=gif/jpeg instead.

Rename ControllerEvent to ButtonPress

Don't pass channels directly between components.  Instead, a new
NES.route method receives from channels and passes them on to the
appropriate components.  This makes it possible, for example, to take
frames from the PPU and send them to both SDLVideo and any
recorders (JPEGVideo/GIFVideo) that are in use.

NT mirroring tests from rp2cgo2 moved to here.