PyQt5 support via qt_backport package

Most of the `PyQt5` support comes directly from `qt_backport`'s emulation of the `PyQt4` (or `PySide`) API.

I modified your `Qt.py` mostly to provide a bit more insight to the rest of the code on what the underlying Qt implementation is so that intelligent switching could be done where required.  Pre-existing code used `USE_PYSIDE`, and the existing `pyqt5` branch had `QT_LIB`, but I expanded on that.

All other file changes came about in support of the above.  Specifically while working to make every single example work as well as I could (this process also helped flesh out corners of the `qt_backport` emulation).

I see that a `.gitignore` change slipped in there, too (sorry).  This was because I was using `pip install -e` on the package while working and constantly removing the egg info was tiresome (you'll see I missed a round of it in the commits).