Simplify SVGTextQuery::modifyStartEndPositionsRespectingLigatures

Simplify this method by passing it the fragment in question, and then use
SVGTextFragment::metricsListOffset to get a reasonable starting point.
Rewrite the big loop into two simpler loops - one for each end-point.
This shaves another ~15% off the TC in the bug (on top of [1]).

[1] https://codereview.chromium.org/359783002/

BUG=267504

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

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