Rework wrapping

This removes all the wrapped functor, simplify most signatures and remove the need for two arguments to use `Html5` signature (see [this](https://github.com/Drup/ocaml-markdown/commit/aab07fa115e2a72e78db09bfc7e50f8228ac678f)). 

This is done by adding a `W` module to `Xml` everywhere so that, given an `Xml` module (and, by extension, an `Html5` or `Svg` modules containing one, and all of them should), you can use the basic operations on the wrapped element.
The `'a wrap` and `'a list_wrap are now just aliases. 

It also normalize the naming scheme. Every signatures (`Xml`, `Xml_wrap`, `Svg`, `Html5`) comes in two versions, the `T` version, which is the normal, fully general one and the `NoWrap` version, which comes with the forced equality `Xml.W = Xml_wrap.NoWrap`. 

It's breaking for everyone using the functorized interface but that's all.

In the future, we could provide a small functor taking a `W` and producing a minimal "standard library", I don't know if it's needed.

Basically, I did it painfully wrong the first time, and this fixes it. Sorry about it. :/
cc @darioteixeira, as he's our main user of tyxml's signatures.