TextFinder: Text scoping should use Position-based TextIterator.

Previously, TextFinder was not able to scope text matches (i.e. enumerate
matched text in the document and paint them yellow) if some matches are within
shadow trees. This was because TextFinder was using Range-based TextIterator.

This patch is meant to fix this issue. This patch also adds some simple unit
tests to check TextFinder's behavior with and without shadow trees.

BUG=361520

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

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