Merge pull request #95 from Chris00/master

Add test for list + code + header
add Omd_representation.visit
Quick fix for -toc

A very quick-and-dirty fix for the -toc issue.
The intial problem is that -toc had actually no effect.
 (https://github.com/pw374/omd/issues/88)
The big nasty problem is that it seems that
Omd_parser.Make.make_paragraphs somehow clashes
with what's done for -toc (Omd_main.tag_toc?).
So it still needs to be properly fixed.
0.9.1
avoid parsing twice when -toc isn't used
fix -otoc
0.9.2
add Raw and Raw_block to Omd_representation.element
add Omd_utils.extract_html_attributes

val extract_html_attributes : string -> (string * string) list
add extract_inner_html + fix extract_html_attributes
Process HTML blocks with attribute `media:type="text/omd"`

The contents of such blocks are parsed as Markdown and the
resulting HTML replaces the Markdown contents.
add optional `override` parameter to Omd_backend.html_of_md

Omd_backend.html_of_md and Omd.to_html now have this optional
parameter: ?override:(Omd_representation.element -> string option)

This parameter allows to customize the behaviour of the Omd.t-to-HTML
conversion without having to rewrite the whole tree processing.
enhance documentation for html_of_md
fix: setext-style titles & paragraphs in text/omd sections

Such titles were not recognised because the function that
recognises them wasn't called.

Also, paragraphs were not made for the same reason.
fix: link def environment for markdown in media:type="text/omd" sections

The link definition set was used too early when converting inner markdown
to HTML, so links defined later in the document were not available.
This fix delays the use of that environment so that when it's used,
it has all the link definitions.

This fixes https://github.com/pw374/omd/issues/102.
+ doc for the delaying code for text/omd contents

(Directly related to prev commit 25954d5.)
Add some comments in the code to explain why the conversion had
to be delayed.
rename a variable to make it more explicit
fix attributes extraction for tags with no attributes
0.9.4 + update description
fix: make_paragraphs: distinct block vs. non-block for X(x) elements

Concerns Omd_parser.make_paragraphs:
If the extension returns a block as first element
(i.e., x#to_t returns (Some(a_block_element::_))),
then consider the extension as a block. However
don't take its contents as it is yet, the contents
of the extension shall be considered final as late
as possible.