Add DocumentMarkerController::FirstMarkerIntersectingOffsetRange()

This is a method that takes a text node, a pair of start/end offsets, and a list
of MarkerTypes, and tries to find a DocumentMarker in the node of one of those
types that intersects the range [start_offset, end_offset].

This is similar to DocumentMarkerController::MarkersIntersectingRange(), which
I'm introducing in https://codereview.chromium.org/2948133004, except that this
method takes a Text node and offsets instead of taking an EphemeralRange/
EphemeralRangeInFlatTree, and only returns at most one DocumentMarker, instead
of returning all of them that match.

BUG=707867

Review-Url: https://codereview.chromium.org/2960473002
Cr-Commit-Position: refs/heads/master@{#488549}
3 files changed