[DL]: Add beforeactivate event & activate locked elements for anchor link nav

When anchor link navigation hits an element in an activatable locked
subtree, we send beforeactivate events to its locked ancestors and
commit them so that we can navigate to the element.

The beforeactivate event bubbles up but is not composed (will not go through
shadow boundaries), and has the |activatedElement| attribute, which in this
case will be the anchor-link-navigated element.

See doc: http://bit.ly/2RXULVi

Bug: 882663
Change-Id: I3c818b9033e37dbd0db786b2d261a382c0dee414
Reviewed-on: https://chromium-review.googlesource.com/c/1473091
Reviewed-by: Hayato Ito <hayato@chromium.org>
Reviewed-by: vmpstr <vmpstr@chromium.org>
Reviewed-by: Kent Tamura <tkent@chromium.org>
Commit-Queue: Rakina Zata Amni <rakina@chromium.org>
Cr-Commit-Position: refs/heads/master@{#633433}
20 files changed