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.
Merge branch 'master' into engine_refactor

Conflicts:
	src/vinylcontrol/vinylcontrol.cpp
	src/vinylcontrol/vinylcontrol.h
	src/vinylcontrol/vinylcontrolxwax.cpp
	src/vinylcontrol/vinylcontrolxwax.h
Adjust MIN_SIGNAL to normalize by SHRT_MAX.
Move constant.
Improve dithering comments.
Merge pull request #126 from rryan/engine_refactor

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