Refactor the engine to process samples in the range of [-1.0, 1.0]. Fixes Bug #1204039.

* Move Vinyl Control pre-amp to VinylControlXwax (no longer affects
  microphone/passthrough).

* Switch PortAudio input sample format to paFloat32.

* Remove SHRT_MAX conversions on input and output samples.

* Update VUMeters, clipping, and dithering code to deal with the new ranges.

* Clean up EngineMicrophone/EnginePassthrough/EngineDeck handling of inputs.

* Update tests to deal with the new sample ranges.

This does not change SoundSource. SoundSources still read 16-bit samples and we
simply divide by SHRT_MAX in AnalyserQueue and CachingReaderWorker. A future
performance improvement can remove this and use the native decoder API to
request normalized samples directly.
Add protection against vinyl control pre-amp gains < 1.
Fix encoders to deal with new [-1.0, 1.0] internal normalization.
Fix comparison warning.
Dynamically allocate VinylControlXwax::m_pWorkBuffer.
Purely cosmetic cleanups to VinylControl / VinylControlXwax.

* Delete dead code.

* Initialize all variables.

* Clarify some variable names.

* Move member-variables to local when used purely as locals.

* Comment a lot of the member variables.
Remove dead code.
Rename remaining non-m_-prefixed variables.
Attack of the style police.
Remove redundant checkmark icon in Preferences > Skin drop-down menu. Only displays warning icon, if the minimum size of the selected skin is bigger than the screen resolution.
Change wording for warning message, that is displayed below the skin drop-down-menu, if the minimum size of the selected skin is bigger than the screen resolution. Reflects that we have resizable skins now.
Update warning icon displayed in the Skin selection drop-down menu.
Add warning icon to the icon template
Provide better error message if we fail to save a recording.
Make sure to only set the correct number of vinyl control speed COs
Fixes: https://bugs.launchpad.net/mixxx/+bug/1263468
Merge pull request #130 from esbrandt/lp1081132

Remove redundant icon in Preferences > Interface > Skin drop-down menu
Wording
Merge pull request #131 from esbrandt/error-message-recordings

Provide better error message if we fail to save a recording.
Refactor EngineBufferScale::getScaled API to be a little more clear.

* Get rid of the split between rate and tempo -- just represent it as speed.
* Split baserate out of rate.
* Add a boolean that indicates whether the speed affects the pitch or not.
Add a minimum seek speed to EngineBufferScaleRubberBand. Workaround for Bug #1263233.