Add missing includes of Qt headers to start the migration from qt4 to qt5.
Use Qt::WindowFlags instead of the deprecated Qt::WFlags.
Fix improper unlock of mutex in ControllerManager (triggers a segfault with qt5).
Get rid of explicit shutdown of ControllerManager and do it in the destructor.
Get rid of use of TRUE and FALSE.
Use Q_WS_WIN instead of Q_OS_WIN since it is deprecated in qt5.
Update to the latest version of ByteArrayClass from the QtScript examples.
Guard Qt >=4.7.0 logic with ifdef.
Change dropAccept and dropAcceptChild to accept QObject sources instead of QWidget (needed for qt5 migration).
Fix one more use of FALSE.
Remove double-include.
Explicitly include <QtConcurrent> due to qt5 modularization.
Fix SongDownloader formatting.
Special-case some qt4 / qt5 incompatibilities.
Add util/compatibility.h, a file for compatibility helpers to allow us to support Qt4 and Qt5 concurrently.
Add QtWidgets and QtConcurrent to list of valid modules.
At Qt5 support to the Qt dependence (enabled via a 'qt5' scons parameter). Also simplify the way we enable Qt modules (which will likely cause some build breakage on some platforms).