o Updated README.md with current keybindings

o Remove load() method from BasicMemory as it is no longer necessary.

o Remove input chan from Controllers as we can just call KeyUp/KeyDown
  directly

o Added new nes/events.go file which defines Event interface with
  Process(nes *NES) method.  Each keybinding is implemented with its own
  Event type now.

o Allow FPS to be disabled with new Disable() method which disables any
  FPS throttling.

o Small improvement to IRQ counter handling in MMC3 mapper.

o Added 'state RunState' field to NES type which indicates if we are
  Running, Paused or Quitting.  New 'paused' chan is used by
  NES.RunProcessors() to stop executing while paused.

o NES.route() now just reads events from an 'event chan Event' field and
  dispatches the event by calling Process().

o Merge RP2C02.decrement/shiftSprites() into renderSprites()

o Remove Output chan from RP2C02.  Instead, Execute() now just returns a
  'colors []uint8' which is non-nil if a full frame is ready to be
  displayed.