Make sure <html> is included in the inner html updated text.

When js sets div.innerHTML = "some html string",
that string should be rendered as html.
But it may not have enough tags to be deemed html by our test.
It may not have any tags at all, but still some meta chars like &foo;,
so should still be browsed.
I prepended the tag <html>, which tells our test this is definitely html,
but then didn't include the tag in what I passed along.
Change the pointer to sideBuffer so this tag is included.

I also added comments to explain why tagArray might be built more than once.
In fact it could be rebuilt dozens of times, though very unlikely.