Split FragmentAnchor into an interface

This is a first step to implementing the new TextFragmentAnchor. For
ease of review, this CL is a simple mostly-mechanical move of
functionality. There should be no behavioral change. The follow-up
CL adds and modifies behavior.

Bug: 924963
Change-Id: I0a3ad40322b7e60695093a55c2faa650b94bc595
Reviewed-on: https://chromium-review.googlesource.com/c/1455113
Reviewed-by: David Bokan <bokan@chromium.org>
Reviewed-by: Stefan Zager <szager@chromium.org>
Commit-Queue: David Bokan <bokan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#631691}
8 files changed