Refactored selectStream to get less indented code.
Renamed stream1, stream2 to original, highlighted.
Working implementation of original-preserving stream merge.
Still need to fix useless closing/reopening of highlighted stack
on glued together original tags.
More succinct logic in mergeStreams.
Delayed stack restore.

Restoring of highlighted nodes stack is delayed until
interesting events:

- new highlighted node is opening
- new text content is rendered
Lowercasing opening node in mergeStream.
Embedded node stack backup/restore into a single place of the
merging loop.
Slight refactoring for readability.
Embedding `result +=` into "open" and "close" for consistency.
Some more readability improvements with the magic of forEach.