This PR introduces a new Markdown engine called `markdown2`.
The current Markdown implementation is functional but does not follows the [CommonMark](http://commonmark.org/) specification as it passes only 273 tests of the 627 from the [CommonMark test suite](https://github.com/CommonMark/CommonMark).
Also there is a few issues with it as stated in #791, #1394, #1525 and #2507.
This new implementation aims at resolving these issues and follow the CommonMark specification.
Features:
* Markdown AST creation and rendering
* Rendering to HTML
* Rendering to Markdown
* Rendering to Man format
* Rendering to LaTeX
* Parsing of Github extended mode
* Parsing of wikilinks
* Parsing of LaTeX/Maths expression (upcoming in next PR)
* Respect of the CommonMark specification with only 10 tests failed (UTF-8 related)
* Extensive testing with a total of 980 test units...
I didn't remove the old markdown implementation since the benchmarks are not really good for now. Since `markdown2` uses a lot of regular expressions, performances can be an issue compared to `markdown`:
![screenshot from 2018-06-20 19 21 08](https://user-images.githubusercontent.com/583144/
41689548-
1a8bc5d0-74bf-11e8-899e-
52b0eb093d57.png)
In the following PR some Nit tools will be migrated to the new implementation:
* nitunit
* nitiwiki
* nitdoc
* nitweb
Pull-Request: #2720