Finish the PySide to PyQt port and some cleanup. Fix #111