[LiveHTML] Parse more strictly during incremental update

For #4644.

In addition to making valid implied-close/self-closing tags work, I also made the parser more lenient for unbalanced tags in order to fix the original HTMLInstrumentation unit tests. However, I had forgotten that part of our whole strategy for incremental update in live HTML editing relied on knowing when the HTML was in an invalid state and pausing incremental update until it becomes valid again.

This pull request adds a "strict" mode to the parser that still allows parsing of valid implied-close/self-closing tags, but returns null if there are unbalanced tags.

There are also a couple of (xited-out) unit tests in this pull request that I added to diagnose some other issues, but which aren't working yet.