Move effect widget setup out of LegacySkinParser and into the setup() method.
Update WNumberPos when a connected control updates.

This fixes the lack of number display on initial creation.
Use the correct buffer when writing to the passthrough FIFO.
Update EngineMicrophone warnings since it can support stereo input now.
If passthrough is not enabled, don't accept receiveBuffer calls in EnginePassthrough.
Support mono outputs and inputs.

* Support selecting mono outputs and inputs in Sound Hardware preferences.
* Microphone can accept stereo or mono input now.
* Vinyl control (and consequently deck passthrough) does not support mono.

Tested with a stereo built-in mic on the Vinyl Control passthrough, auxilliary
passthrough, and microphone inputs.

I think PortAudio, CoreAudio, or my hardware has a bug when a single output
channel is enabled. The sound Mixxx emits to Channel 1 can be heard faintly in
Channel 2 even if we have only opened Channel 1 for output. If we have only
opened one channel for output there should be no possible way Mixxx could cause
audio to be heard in Channel 2 so this suggests it is not a Mixxx bug.

Fixes Bug #681689.
Remove debug messages.
Fix WPushButtonTest breakage caused by new wiget connections..
Add comments about why and how we use QPoint.
Use "channel_count" in sound config XML instead of "channels".
Disable slip mode if reloop_exit is pushed
Fixes lp:1159528
Fix style from review comments.
QString(tr()) is redundant.
Improve recording status message for translators to be the complete phrase
instead of 2 fragments.
Convert float literals to double literals in various places.
SoundManager formatting misc.
Specifically note if a beatloop roll is active, and only disable slip on reloop_exit if that's true.
Implement Master / Headphone split mode
Don't override isMaster and isPFL for EnginePassthrough and EngineMicrophone.

Instead, use the "pfl" and "master" controls for [Microphone] and [PassthroughX]
but default to master enabled and headphone disabled. If a user wants to, they
can map these controls and change them.
Rename headSplit feature