Fix touch adjustment to never return pseudo elements

Hit testing which lands on a pseudo element (eg. :before/:after) is
normally modified (in HitTestResult.setInnerNode) to return the
parent element.  This CL makes touch adjustment consistent with this.
We still adjust towards any pseudo elements, but the final node will
be the pseudo element's parent.

This fixes an issues where checkboxes covered by a pseudo element
(as for chrome://settings custom checkboxes) weren't being activated
on tap.  CheckboxInputType::willDispatchClick is invoked only when
the click event is targetted directly at the <input> element, not
when it bubbles up from a descendant such as this pseudo element.

Prior to 
http://src.chromium.org/viewvc/blink?revision=178098&view=revision
this issue was masked because we did a redundant non-rect hit test
 for the mouseup event using the adjusted position.  Now that we
share the original hit test results the difference of behavior was
exposed to mouse event handlers.

BUG=395942

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

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