first working version implementing original markdown spec

known issues:
- tabs are not preserved in code blocks
- link references are not supported yet