Abstract out the code for markdown parsing, making it easier to switch out the implementation
Merge branch 'master' into dev

Conflicts:
	compiler/Generate/JavaScript.hs
	compiler/Generate/Noscript.hs
	compiler/Parse/Expression.hs
	compiler/SourceSyntax/Expression.hs
Merge branch 'dev' into topic/best_practice_webgl