Pass unicode strings to lxml.

This reverts commit fcde86e9c046763d571fb14baa2acd01a966d3db & some
more. This lets python-requests do all the encoding stuff and leaves
LXML with (hopefully) clean unicode HTML to parse.
Refactor: Move repeated check into its own function.
New feature: Comic modules ca be "disabled".

This is modeled parallel to the "adult" feature, except the user can't
override it via the command line. Each comic module can override the
classmethod getDisabledReasons and give the user a reason why this
module is disabled. The user can see the reason in the comic list (-l or
--singlelist) and the comic module refuses to run, showing the same
message.

This is currently used to disable modules that use the _ParserScraper if
the LXML python module is missing.
Bugfix: Don't assume RE patterns in base class.
Add support for CSS selectors to HTML parser.

Each comic module author can decide if she wants to use CSS or XPath,
not a mix of both. Using CSS needs the cssselect python module and the
module gets disabled if it is unavailable.
Add StrongFemaleProtagonist.

This uses the _ParserScraper and CSS selectors.