Markdown: Add outlining for code blocks

TODO: Include trailing fences
(requires more syntax info than we have in Artifacts)