Allow keyboard focusable elements to have a context

When using keyboard shortcuts to focus elements, we scroll the element
into the viewport. On some pages, such as when viewing the shapshots on
a project, there is important context above the focusable elements that
we don't want to be scrolled outside of the viewport. To prevent this
from happening in these cases, I am adding a new data attribute that
can be added to an ancestor element of the focusable element. If this
data attribute is found, that element will be scrolled into view instead
of the focused element.

This is in service of #13.

Change-Id: Ie63112638a1b73e1843a546e9cb6ac39a574c7a5