The Mimeview.render should also handle `content` arguments which are objects with a `read` method. If the `mimetype` argument was not given, auto-detection would have failed.
Here, we take care to read the actual content, if needed, and at most once.
The logic about expanding tabs in the content has also been enhanced a bit,
so that not only the tab expansion is done at most once, but also the
expanded content is only given to the `IHTMLPreviewRenderer` who actually
requires an expanded content.