Same as parse_html but retains all “span” html elements intact
Markdown parsers usually strip them down when rendering but they
may be useful for later processing
Recursively walk through all DOM tree and handle all elements according to
HTML tag -> Markdown syntax mapping. Text content is trimmed to one whitespace according to HTML5 rules.