Support autopresenting WebVr content.

We support autopresenting if the intent
- launches a ChromeTabbedActivity
- has a VR specific extra
- originates from a first-party app

There's no perfect way to know the sender of an intent. We use PendingIntents
since it has a getCreatorPackage function that cannot be spoofed. That is, a
trusted sender adds a PendingIntent as an extra which tags the intent with
the sender credentials. The obvious risk here is that if something in between
can get a hold of the PendingIntent, it can pretend to be the send indefinitely.
That means that we must really trust the sender.

This CL takes over bshe@'s https://codereview.chromium.org/2829193003/

Follow-up work will be to respond to this intent more elegantly so that we can
get rid of the browser UI that will show up before we start autopresenting (see
TODO).

BUG=713369
TBR=dominickn@chromium.org

Review-Url: https://codereview.chromium.org/2873843002
Cr-Commit-Position: refs/heads/master@{#473303}
11 files changed