Viewer: Do not forget the ToC open on start preference if viewer opened with a book that has no ToC
Edit Book: In the right click menu, do not show cut/copy/undo/redo items if they are disabled
Add an ICU based implementation of swapcase()
Edit Book: Allow changing the case of selected text by right clicking and choosing the appropriate change case action. Fixes #1353263 [[Enhancement] - add Change Case functionality to Edit Book](https://bugs.launchpad.net/calibre/+bug/1353263)
Use ICU for case change operations in line edits
Port compiling of .ui forms
Port imports
Port build script for building PyQt extensions to PyQt5
Port the progress indicator extension to PyQt5
Allow controlling PyQt5 import path via the env var PYQT5_IMPORT_PATH
faster builds
Get rid of the PyQt4 string from everywhere
Port: setMargin() reset() QStringList()

setMargin(): QLayout no longer has a setMargin() function, replace with
setContentsMargins()

reset(): QAbstractListModel no longer has reset(), replace with
beginResetModel(), endResetModel()

QStringList: No longer exists, a simply python list of strings works
instead
Fix mouse wheel not working in diff view
Port coffeescript compiler
Add note about headless Qt QPA plugin
Port WebKit imports and QChar

WebKit has been split up into QtWebKit and QtWebKitWidgets. Change
imports accordingly.

Replace use of QChar since it no longer exists in PyQt5
Port syntax highlighters
note about creating import checker
...