better approach to extending markdown

this approach is totally based on callbacks and more consistent.

obsoletes #70 and #73