Support for HTML blocks (w/ tests)

This is almost the same change @marinh submitted 2 years ago in evilstreak/markdown-js#34, but with a few differences:

- tests for @marijnh's HTML block commit
- support self-closing HTML tags
- default to code blocks where indented