I've decided to post the source code for my Teensy 2.0 NES/SNES to USB adapter. I've noticed some issues on OS X, with certain programs recognizing the device as a joystick, but there are easy ways around that. If all else fails, you can set it to USB Keyboard mode. I haven't run into any problems on Linux.
It is setup to auto-detect the controller type (NES or SNES), but you have to have the controller hooked up when you plug it in for that to work.
We're living in an interesting time. The weaknesses of CRTs (mostly size and manufacturing costs) helped pave the way for LCDs to take over, but many of the strengths of CRTs that we've lost, such as blur free motion and lagless response time, are just now getting significantly better on LCDs. A new technology has started appearing in high end consumer monitors, called LightBoost, which helps solves both problems listed above.
LightBoost works by turning off the backlight in an LCD monitor during the pixel transition stage. Normally, the pixel transition is fully visible, giving you problems such as motion blur. At 60 frames per second, motion blur on monitors that support LightBoost (as well as with a video card that supports it), is very comparable to that of a CRT. The downside is that you lose some brightness, but I expect that to be fully worked out moving forward. With any luck, this new technology will start trickling down to low/mid end monitors, and TVs.
One of the main contributors to lag in LCD monitors and TVs, integrated circuits and digital processing, has slowly improving as well. In the age of CRTs, relatively little display side processing went on. A scanline was scanned into the TV/Monitor, and you could be almost certain that it would be on-screen by the time the horizontal sync signal was sent. This changed with LCDs. While CRTs are scanline based (literally scanning picture on to the phosphor glass one line at a time), LCDs are typically frame based (refreshing whole frames at once). This requires some buffering on the monitor side, as most monitors will wait for the entire frame to be scanned in, perform any necessary processing, then push the frame out for display. This is where the majority of lag in consumer displays comes from these days, and it is very steadily being improved.
These two things, combined with high resolution displays (ie: "retina displays"), it may finally be possible to fully emulate the look and feel of playing retro games on a CRT TV.