Introduce defaultRenderer for Viewer

This PR is a prerequisite for reworking the Markdown plugin (https://github.com/hypothesis/vision/issues/125).

It introduces a new option (called `defaultRenderer`) for the `Viewer`.
What it does is only, if this option is set (of course the `defaultField` needs to set to true) then it calls the given function to produce the rendered text field.

I think the html sanitization should be the responsibility of the set function.