Add toDebugString function for getting the equivalent of what qDebug() would
print for a class.
Modified the SQL search for keys so that it won't match for 11 if you
search 1.
The code is not close to perfect as I can't make RLIKE and '[ab]%' work
for some strange reason.
added some file into .gitignore
Make WNumber::setValue virtual and make child overrides slots.
Get rid of WWidget::getPath/setSkinPath in favor of using SkinContext for skin path resolution.
Also remove WWidget::m_qPath.
Wrap pattern of comparing strings against "false" or "true" with SkinContext::selectBool.
Make WWidget::m_bOff private.
Oops. Make selectBool callers provide default values.
Rename WWidget::setValue to WWidget::slotConnectedValueChanged.
Remove direct access to WWidget::m_value from child classes.
Remove ControlObjectThreadWidget use in WNumberPos.
Oops, I screwed up multi-state toggle buttons while getting rid of m_value access.
Changed to use key_id, now only exact match
Fix SkinContext copy constructor to copy the base skin path.
Fix one more spot that I missed a [0,127] -> [0, 1] conversion in WWaveformViewer.
Make WLabel inherit QLabel instead of WWidget.

WLabel and its variants don't really need anything provided by WWidget. As far
as I can tell no existing CSS styles use WWidget to style WLabel either, so this
should be safe skin-wise. This also gets rid of WWidget::getComposedWidget since
its sole purpose was for styling labels.
Add WBaseWidget, a base class for holding logic common to all Mixxx widgets.

Since this class does not inherit QWidget, widget classes can inherit from a
QWidget descendent and also inherit from WBaseWidget without causing
multiple-inheritance diamond issues. This was a regular issue with WWidget.
Move widget tooltip handling to WBaseWidget.
Move disabled state into WBaseWidget. Rename to controlDisabled to prevent clashing with QWidget.