Create renderer_data and pass it to callbacks
Add `render_inline` parameter to header and footer callbacks
Update HTML renderer to use new API
Put HTML callbacks at the end of their categories
Rename `raw_html_tag` to just `raw_html`
Call it `content` when it's rendered output, `text` otherwise

If it's rendered output, i.e. output coming from other callbacks,
it must be called `content`, and be the first parameter after `ob`.
Split `table` in `table_header` and `table_body`

Only one parameter  (`content`) can have rendered output.
The `table` callback contradicts this rule, so it has to be split
in `table_header` and `table_body`.

This also helps keep the HTML renderer code dry and readable.
Properly name category
Fix a few typos
Make expand_tabs() UTF-8 aware.

Previously, expand_tabs() counted every *byte* rather than every *character*
to determine the proper tab stops.  This change fixes that by skipping over
UTF-8 continuation bytes (bytes of the form 10xxxxxx), which are the only
types of bytes in valid UTF-8 that do not start a character.

This code does not skip over combining characters.
Revert `hoedown_inline`
Merge pull request #124 from jmendeth/renderer-api

Renderer API
Don't use "for (declaration"
Merge pull request #134 from jmendeth/no-c99-declaration

Don't use "for (declaration"
Merge pull request #126 from mo/typofixes

Fixes a few typos
Merge pull request #130 from MarkLodato/utf8-tab-expansion

Make tab expansion UTF-8 aware.
Use a stricter subset of C
Use a stricter subset of C in the executables
bin-refactor: Remove useless null renderer

The original use of the renderer was for benchmarking,
to know the time used exclusively for parsing. But setting
NULL callbacks actually disabled parsing. No-op callbacks
should be used instead.
bin-refactor: Add parse_options generic method