Markdown: Extract TabAwareCharacterStream class

Shortens MarkdownParser.cs, which was getting rather long