README: turn all extensions into headers for direct linking

Change all `**Extension: ...**` lines into headers to allow permalinking to a specific extension.
README: reduce 1:1 Topic -> Extension nesting

Reorganize some sections whose only purpose was containing a single Extension subsection.
README: blank line after headers
EPUB Reader: Added EPUB reader
Except Compat: Updated to export more module functions
Options: Added option to turn on epub html extensions
HTML Reader: Extended HTML Reader to recognise EPUB specific elements
HTML Reader: Added support for anchors on links and list items
HTML Reader: Added ability to read MathML formatted <math> blocks
EPUB Reader: Integrated into program
EPUB Reader: Added tests
README: Updated with EPUB information
README: make all extension headers H4
EPUB Reader: Now uses the new MediaBag for images
Make benchmarks compile again.

Additionally, fix the problem which caused one failing benchmark
to stop other benchmarks from running.
Docx Parser: Produce endnotes.

The parser had been changing footnotes and endnotes into footnotes. This
isn't a problem, because pandoc collapses them, but the parser should
maintain as much of the docx structure as is collapsed, and let the
toplevel reader worry about how to translate it into Pandoc. (This would
be an issue when, as is planned, the docx parser spins off into its
own module.)

The output is the same, so no test change is required.
Merge pull request #1475 from Aelve/fix-benchmark

Make benchmarks compile again.
Use nfIO in benchmark instead of getLength trick.
benchmark:  use only test suite for benchmark.

This way the benchmarks don't take so long to run.
Bump aeson upper bound.