Make document.caretRangeFromPoint to return correct value for ":before" pseudo element

This patch introduces |HitTestResult::position()| to utilize pseudo element
information in |HitTestResult| and considering margin for making
|document.caretRangeFromPoint| to return correct value for point at ":before"
pseudo element.

This patch is a part of fixing issue 269556, broken text selection ":before"
pseudo-element with negative margin-left and display inline-block. Following
patch will replace |HitTestResult::renderer()|+|RenderObject::positionForPoint|
pair with |HitTestResult::position()|.

BUG=269556
TEST=LayoutTests/fast/dom/Document/CaretRangeFromPoint/caretRangeFromPoint-with-before-style.html

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

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