Eliminate misleading precision in the bpm and rate displays.
* Show only one decimal place for bpm and rate
* Waveform stretch reacts more slowly to small changes in rate.
* Vinyl control bpm updates are much more sticky.
Reduce redundant subtraction
Have WNumbers the NumberOfDigits parameter and set a default of 1 decimal.
Show two places by default
Don't smooth waveform stretching.
Fix race condition in clearing leaked controls.
Fix some uninitialized variables discovered using valgrind.
Don't change the scaler if it is over-ridden for testing.
Only force vinyl mode to absolute on seek if the deck is playing.
Add compiler_is_gcc and compiler_is_clang variables to build object.
Add Clang-based features: address sanitizer and color diagnostics.
Remove unused BPMSCHEME_FILE and TRACK_FILE defines.
Turn headerpad settings into a proper linker-only command.

Clang complains it is not a valid compiler flag.
Add WComboBox, a QComboBox-derived WBaseWidget.
Reduce duplication in LegacySkinParser using some template methods.
Add WSplitter so that we can stop putting QSplitter in our style sheets (in case we want to replace it with a custom widget at some point in the future).
Use the right parent class for QWidget::event.
Fix test case on windows

This changes the code to make more use of Qt
to handle filepaths on several platforms. We should
also change the API to only accept QDir, QFileInfo
in the future
fix purge tracks on windows

Again we should change the API here to accept
QDir instead of a QString.
Boost vinyl control processing threads to high priority