Start the Qt5 port

s/from PyQt4/from PyQt5/. Some classes have been moved into the
QtWidgets and QtWebKitWidgets modules. QSound is now under QtMultimedia,
and Phonon no longer exists.
Fix qInstallMsgHandler

The interface has been renamed to qInstallMessageHandler, the arguments
have changed.
Use a new webkit cache path

The webkit cache is not compatible from qt4 to qt5, so we move to a
versioned path to differentiate. With this fix, the Qt5 branch finally
starts up without crashing.
Fix mouse wheel events

The delta() method on the event object has been replaced with
angleDelta().
Updating the surrogate pair hack comment

It looks like we don't need that hack any more, since I couldn't repro
the bug. Update the comment, but keep the hack just in case.
Fix toast opacity

In Qt5, setWindowOpacity doesn't actually make the window transparent
unless we call repaint afterwards. Not sure why.