Use viewport clipping when lots of search results found
When find returns more than a hundred fragments, calculate the viewport's
approximate DM range and use that to only render results which are visible.
Introduces getViewportRange to ce.Surface which uses a binary search to find
the viewport range.
Keep track of which subset of the results have been rendered in a ve.Range
so we know how to focus results properly.