finish section on substring search
refactor table of contents generation code

Removed all string-html occurrences (in both abbreviations and table of
contents) and replaced it with blaze-html.

Table of contents is now numbered using pure css.

Table of contents pandoc transformer code was heavily refactored. It
uses blaze-html and instead of folding into a string, it maps the forest
of header trees into marked up html5. The code is a lot shorter and
neater!