Remove unused css: Prevent failure when book has invalid items marked as stylesheets
Check Book: Add checks for empty HTML/XML/CSS/image files in the book.  Fixes #1329971 [Private bug](https://bugs.launchpad.net/calibre/+bug/1329971)
Fix #1329777 [Translation DE](https://bugs.launchpad.net/calibre/+bug/1329777)
...
...
Change NON NULL to NOT NULL in the sqlite schema
Change the test db to also use the NOT NULL constraint form
oops
Edit book: Remove unused CSS: Add an option to also remove unused class attributes from the HTML

Edit Book: Remove unused CSS: Handle @import rules when checking for unused CSS
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