Qt5 Backend

I have created a qt5 backend based on the existing code for the Qt4 backend. Everything i've tested seems to be working so far. Unortunately there are lots of namespace changes between pyqt4 and pyqt5, and some other small subtle differences that prevent the two backends being identical. Due to some differences with how pyqt5 handles multiple inheritence, this backend will only work with python3 and above, as pyqt5 multiple inheritence requires use of the new super() function.