Avoids rewriting Tab label & panel content. Fixes #2530253.

The `content` setter now compares the `panelNode`'s existing HTML with the new content, and avoids updating if they are a match.  Ditto for `label`.

Additionally, the `label` parsing now preserves existing markup, and includes it in the `label` value.