Implement sequential focus navigation for OOPIF.

Pressing <tab> or <shift-tab> traverses through all focusable elements
on a page, descending into the content of any frames that it
encounters along the way, including cross-origin frames.  This
behavior is currently broken with out-of-process frames: remote frames
are skipped entirely during focus traversal.  This CL puts in the
initial plumbing to fix this and allow advancing focus across frames
in different processes.

When the search for focusable elements in
FocusController::advanceFocusInDocumentOrder encounters an <iframe>
element for a remote frame, it will instruct that frame to continue
the search in its process via the new AdvanceFocus IPCs.  Once the
frame has finished advancing through its focusable elements, it will
use the same IPCs to transfer the search for focusable elements to its
parent frame.  To allow the parent to resume search from the right
place, the IPCs include the source frame (from which the search is
being transferred).

BUG=341918,339659

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

Cr-Commit-Position: refs/heads/master@{#363362}
20 files changed