Apply the new `innerHTML` only if the text have actually changed

This will avoid unnecessary HTML parses and DOM rendering.

It is intended as a partial solution to #2.

It does not fully address the problem in that issue since when new content arrives it is possible that the selection is lost.
But it offers a performance improvement when the contents of the console are massive due to reduced HTML parsing and DOM re-rendering.