Markdown: test different flavors, roundtripping (#60603)
Run CommonMark spec tests against all supported Markdown flavors. This
way we may notice regressions in any flavor, not just the default one.
Of course the different flavors have different success rates (e.g. some
CommonMark spec tests fail with the `julia` flavor due to the en/em
extension which converse `--` and `---` into en- resp. em-dashes).
Also (ab)use the spec tests to automatically derived cheap "weak" round
trip tests. That is, for some plain text input, we parse it, then
convert this into plain text, and parse it again. Then we compared the
two parse outputs, which of course should agree.
This is weaker than taking the initial plain input, parsing it,
converting that to plain text, and comparing the two plain texts. But
that kind of test is problematic because Markdown usually has multiple
ways to encode things (e.g. three different list marker bullets, two
different ways to mark text as italics, etc.). But the weaker version
already catches a lot of issues.