Fix stuttering and loud buzzes when changing sound configuration.

Depending on your audio configuration, changing devices can cause stuttering
or (at low latencies) a loud buzz due to buffer under-runs caused by clearing
the clock reference device before all SoundDevices are closed. This causes the
engine to not process during callbacks where only some of the devices are closed
but the clock reference device is not closed yet.

* Don't clear m_pClkRefDevice in SoundManager::setupDevices(). This leads to
  dozens of buffer-underruns because the engine is not processed while we are
  closing every SoundDevice (which can block for a while).

* Some misc. SoundManager cleanups.
Add a comment describing the way forward for getting rid of needless re-opening
of devices when making audio hardware configuration changes.
Fix vinyl control manager so it loads preferences for decks created by skins.
Only write preferences for decks that existed
Prevent attempts at reading NULL vinyl control CO
use a QList instead of array for vc enabled COs.
Add deck number flexibility to vinyl preferences page.
Use the default AutoConnection
Merge pull request #125 from ywwg/vinyl-4decks

Fix vinyl control manager so it loads preferences for decks created by skins
Fix visual artifact when resizing WOverview. Bug #1249580

The widget width was part of m_analyserProgress so after resizes this value is
no longer valid. Instead, store the progress percentage and whether we are
"finalizing" (progress is 999) as separate variables.
Make sure to only set the correct number of vinyl control speed COs
Fixes: https://bugs.launchpad.net/mixxx/+bug/1263468