Simplified markdown extensions setting

I think this is a simpler way of allowing Markdown extensions to be configured.

Basically a `markdown_extensions` attribute is added to the HTML renderer function, and the function itself checks for the attribute.

This avoids adding another argument, and the need for the `_smart_html_renderer` wrapper function.

Let me know what you think.