Don't cause needless surface refreshes on overwriting.

WHAT DOES IT FIX?
* In the demo, select a letter in the middle of the text
* Press a letter key to overwrite it
* The 350ms grey flash no longer happens: ContentBranchNode isn't echoing changes

ve.ce.Surface
* use newFromReplacement when replacing text
* Return from handleInsertion.

ve.ce.ContentBranchNode
* Ignore changes which have no effect

ve.ce.Surface.test
* Update replacement tests

demos/ve/*.html
* New demo page

Change-Id: Ied06031e9f25ea6ac80c64035f04eef82ce46df0
Merge "Don't cause needless surface refreshes on overwriting."