Fenced code blocks and YAML front matter

Fenced code blocks embed few popular grammars via injections, however this
solution needs to use some gimmicks to make it work fine with grammars using
$base recursion, which leads back to Markdown rather than what grammar intends.

Therefore all C/C++/ObjC grammars have extra injection to
"source.embedded.LANG.markdown meta$" in order to include their grammar rather
than Markdown on $base.