**Apache Airflow version**: 2.0.2

**What happened**:

Tried to use the following markdown as a `doc_md` string passed to a DAG

```markdown
- Example
    -  Nested List
```

It was rendered in the web UI as a single list with no nesting or indentation.

**What you expected to happen**:

I expected the list to display as a nested list with visible indentation.

**How to reproduce it**:

Try and pass a DAG a `doc_md` string of the above nested list.
I think the bug will affect any markdown that relies on meaningful indentation (tabs or spaces)

tests/www/test_utils.py
def setUp(self):
        self.attr_renderer = utils.get_attr_renderer()
    def test_python_callable(self):
        def example_callable(unused_self):
            print("example")
        rendered = self.attr_renderer["python_callable"](example_callable)
        assert '&quot;example&quot;' in rendered
    def test_python_callable_none(self):
        rendered = self.attr_renderer["python_callable"](None)
        assert "" == rendered
    def test_markdown(self):
        markdown = "* foo\n* bar"
        rendered = self.attr_renderer["doc_md"](markdown)
        assert "<li>foo</li>" in rendered
        assert "<li>bar</li>" in rendered
    def test_markdown_none(self):
        rendered = self.attr_renderer["python_callable"](None)
        assert "" == rendered
class TestWrappedMarkdown(unittest.TestCase):
    def test_wrapped_markdown_with_docstring_curly_braces(self):
        rendered = wrapped_markdown("{braces}", css_class="a_class")
        assert '<div class="a_class" ><p>{braces}</p></div>' == rendered
    def test_wrapped_markdown_with_some_markdown(self):