* switch to split markdown parser with separate block and inline parsers to improve performance
* add exclude_children! directive (useful for something like Injected markdown incorrectly highlights indented docstrings #2212)
* split markdown queries into block and inline ones and add the injection for inline into block grammar
* add include_dir option to parser configs (needed because the two grammars don't live in the repos root directory)
BREAKING CHANGE: downstream queries need to be adapted to new parser
Before, all identifiers containing the substring "self" were highlighted as the builtin `self`. Now, only the identifier `self` is highlighted as `self`.
- A hotlink on vimdoc is `|foo|`.
Which is a reference to part of a document,
not a URI.
- (argument) wasn't being highlighted,
wasn't sure about the best hl group for this,
but `@parameter` seems the obvious one?
This improves the following situation, in which '|' is the cursor position:
```yaml
- key1: value1
key2: value2|
```
Before this commit, by pressing Enter would result in this indentation:
```yaml
- key1: value1
key2: value2
|
```
Which is less convenient than this:
```yaml
- key1: value1
key2: value2
|
```
This helps to solve the first issue reported at #1377.
The problem is that the line loses its indentation when we start
inserting a new mapping pair (specifically, when we enter the character
":").
The issue seems to be solved by auto indenting ERROR nodes.
This solves the second issue reported at #1377, in which the cursor
would not be aligned with the line "key2: value2" when entering a new
line below it.
```yaml
- key1: value1
key2: value2
```