Update Position member variables in FrameSelection after Text::splitText()

This patch changes Document::textNodeSplit(), which is called by Text::splitText(), to call FrameSelection::textNodeSplit() for updating Position member variables in VisibleSelection hold by FrameSelection and to call Document::textNodeSplit() before RenderText::setTextWithOffset() to update renderer for split text node.

This patch also introduces FrameSelection::updateSelectionIfNeeded() to share code between updatePositionAfterAdoptingTextReplacement() and updatePostionAfterAdoptingTextNodeSplit().

This patch is a part of fixing issue 240594.

BUG=240594
TEST=LayoutTests/editing/selection/selection-after-split-text-node.html
R=tkent@chromium.org

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

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