...
Start work on plugin framework for editor
Fix Documentation for list_re, list_re_group, first_matching_cmp, transliterate.

Fixes #1339296 [Fix documentation for some formatter functions.](https://bugs.launchpad.net/calibre/+bug/1339296)
Fix some font directories from fonts.conf being ignored on linux when scanning the system for installed fonts. Fixes #1339257 [some font directories are ignored](https://bugs.launchpad.net/calibre/+bug/1339257)
Edit Book: Fix inline spell check context menu not working when triggered by context menu key or a right clicking at the right edge of the word.
...
Edit book/Book polishing: Preserve the class attribute on the <html> tag in AZW3 format files. Fixes #1339055 [text layout changed from vertical to horizontal when using "Polish Books" feature](https://bugs.launchpad.net/calibre/+bug/1339055)
Edit Book/Book polishing: Do not auto-resolve @import rules in AZW3 files. Also do not add a @namespace rule to all stylesheets that contain tag selectors.
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