Implement GetTextFromRange(), GetTextRange() and GetSelectionRange() for ArcImeService.

This CL adds new mojo call OnCaretBoundsChangedWithSurroundingText to
send text around cursor and selection range together with new cursor
rect.
Because GetTextFromRange(), GetTextRange() and GetSelectionRange() are
called only after calling ArcImeService::OnCursorRectChanged(), the
new mojo call is enought to sync the state of text and selection range.

BUG=722671

Review-Url: https://codereview.chromium.org/2876693004
Cr-Commit-Position: refs/heads/master@{#472775}
13 files changed