Yield the humanized id of the headers

Using the `header` callback, it's now possible to get access to the
humanized generated id to easily keep tracking of the tree of headers
or simply handle the duplicate values easily.

Since the `HTML_TOC` and `HTML` objects both have this callback, it's
advisable to define a module and mix it in these objects to avoid
code duplication.

Resolves #310