reset VisibleSelection  at the Undo command.

Sice UndoManager doesn't manage DOM mutations outside of execCommand, the Undo command sometimes set broken VisibleSelection which is valid when it was recorded to the Undo steps but selection.deleteFromDocument broke that in this test case.

This CL validates VisibleSelection when it is used to restore Selection at Undo.
The main target VisibleSelection to be validate is that has any VisiblePosition which is not in the document already or which offset violates its nodes length because of "Unmagaed" DOM mutations.

BUG=369759

Review URL: https://codereview.chromium.org/315493004

git-svn-id: svn://svn.chromium.org/blink/trunk@175647 bbb929c8-8fbe-4397-9dbb-9b2b20218538