Improve code block highlighting

Support nested syntax rules described in pandoc documentation:

....
In addition to standard indented code blocks, Pandoc supports delimited
code blocks. These begin with a row of three or more tildes (~) or
backticks (`) and end with a row of tildes or backticks that must be at
least as long as the starting row.
....