Added an audio device swapper

This is mostly a cleanup of #3594 with
- clearer GUI instructions
- cnc settings dropdown cosmetics
- moved GetDeviceList to ISoundEngine implementations