Consolidate and clean up "scroll to this element" code

Previously we've scrolled the top of the element to the middle of the screen
and hoped for the best. This patch refactors it to use One True Scroll Method
from core, which does the minimum amount of scrolling to bring as much of the
element as possible wholly into view, horizontally *and* vertically.

Since the core plugin is not yet merged, this patch has a copy of the plugin
which is used if the core plugin is not available.

Bug: 56789
Change-Id: I55a4ee7992126a4d2b3ebdae1f94cbf91c431719
Merge "Consolidate and clean up "scroll to this element" code"