Make CSS property user-select:none not to affect Document.caretRangeFromPoint()

This patch introduces PositionWithAffinity as return value of RenderObject::positionForPoint() for making CSS property user-select:none doesn't affect Document.caretRangeFromPoint() and changes caretRangeFromPoint() to use Position instead of VisiblePosition, which excludes user-select:none.

BUG=263813
R=ojan@chromium.org, tkent@chromium.org

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

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