Add PermissionPromptAndroid skeleton

Currently desktop and Android use different ways to handle multiple permission
requests. Desktop uses PermissionRequestManager to schedule, group and show
requests, delegating the actual UI to a Views/Cocoa-based permission prompt.
Android, however, uses PermissionQueueController, an entirely different system
sharing no code with desktop, which queues up infobars for individual requests.
We'd like to reuse PermissionRequestManager on Android to improve feature parity
between the two platforms.

On Android, GroupedPermissionInfobarDelegate is ready to use to show multiple
permission requests and show individual toggles(allow/block) for each request.
We also need a subclass of PermissionPrompt which is responsible for showing
GroupedPermissionInfobars, coordinating permission infobars with InfoBarService,
and passing the results back to PermissionRequestManager.

This CL added the skeleton of this class, called PermissionPromptAndroid,
similar to PermissionPromptImpl on desktop. It allows multiple requests to show
and grouped in one infobar. Currently 'OK' and 'Cancel' button does nothing,
they will be plugged in SetPermissions() in the following CL.

Also to reuse PermissionRequestManager on Android, BUILD.gn files are changed to
get PermissionRequest and PermissionPrompt compiled on Android.

Since this refactoring work is not all ready yet, it's behind a runtime switch
flag for now so that we could implement and test it step by step. Finally we'll
enable it by default on Android.

BUG=606138

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