DecorateWriter does not get called for partial views rendered via Html.PartialAsync

* Introducing StringCollectionTextWriter to buffer the contents of
  PartialAsync
* Ensure DecorateWriter is called for partial views

Fixes #1266
a better pattern seems to be to derive from IHtmlString a type that is backed by a string, and a type that is backed by a writer.