Code cleanup.
Supporting device assignment and some code cleanup.
Remove .fds suffix from NES system plugin since FDS is its own system
Merge remote-tracking branch 'upstream/master'