Revert of Blink does not respect input.selectionStart and input.selectionEnd for some cases (https://codereview.chromium.org/258063005/)

Reason for revert:

Suspected of breaking browser_tests on various platforms:
* ClearPreviewWithAutofilledUsernameAndPassword
* ClearPreviewWithUsernameAutofilled
* PreviewSuggestionSelectionRange

[PasswordAutofillAgentTest.ClearPreviewWithUsernameAutofilled]
* Value of: username_element_.selectionStart()
* Actual: 0 (expected: |start|, which is: 3)

Logs are available here:
* http://build.chromium.org/p/chromium.webkit/builders/Linux%20Tests%20%28dbg%29/builds/3108/steps/browser_tests/logs/stdio

NOTRY=true
TBR=tkent

Original issue's description:
> Blink does not respect input.selectionStart and input.selectionEnd for some cases
> 
> Blink does not respect the input.selectionStart and input.selectionEnd. When
> input.selectionStart and input.selectionEnd is set and then value is set the blink
> always shows the selection with caret at end of text. This patch removes this
> bug by caching the selectionStart and selectionEnd in m_cachedSelectionStart
> and m_cachedSelectionEnd and checking the cached selection while setting
> input value.
> 
> This patch also removes the bug specifying that caret poistion is incompatible after updating value
> IDL attribute of unfocused INPUT element. When the value IDL attribute is updated of unfocused 
> INPUT element the caret moves at the end but other browser move the caret at the beginning of the value.
> The other browsers move the caret to the end of the value only if the INPUT is focused. 
> This patch removes this bug too.
> 
> BUG=367736, 133242
> 
> Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=177651

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

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