go/doc: convert to unicode quotes for ToText and Synopsis
We refactor the conversion of quotes to their unicode equivalent
to a separate function so that it can be called from ToText and Synopsis.
And we introduce a temp buffer to write the escaped HTML and convert
the unicode quotes back to html escaped entities. This simplifies the logic
and gets rid of the need to track the index of the escaped text.
Fixes #27759
Change-Id: I71cf47ddcd4c6794ccdf2898ac25539388b393c1
Reviewed-on: https://go-review.googlesource.com/c/150377
Run-TryBot: Robert Griesemer <gri@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>