Adding a second controller

Had to do some timing voodoo...not terribly happy with it,
but it seems to work.

Root issue is that controllers send back their responses
at slightly different start times, so we have to manage to
poll them when they're both in their data phase.

This could be obivated with serial requests, but that's no fun.
Adding some ignores
Adding NES support!

Involved doing a few general changes as well
JoyStatus now uses a signed int as the axis value
and the main loop translates those into 0-1024
Each controller type does its own translations into
the short int range, refactored some of that logic

Also switched to (0x01 << i) instead of (0x80 >> i) because
seriously who does that