android: Implement screenshots for Content Shell and Chromium Test Shell

This patch implements screenshots for the Android Content Shell. It
requires a few improvements to how screenshots work on Android.

Most importantly, WindowAndroid.grabSnapshot now takes a screenshot of
the root activity view instead of the content view. This is needed
because, unlike in Chrome, Content Shell's navigation controls are real
Android Views. As before, we need to calculate their geometry in order
to crop them out of the screenshot. In Chrome, the browser compositor
would do this for us, but with Content Shell we need to query the
information from the Android framework.

Switching the base screenshot to capture the entire activity establishes
a common coordinate system (View.getLocationInWindow) in which we can
communicate the position of the content. This patch changes ContentView
to report this information to ContentViewCore, which passes it on to
WindowAndroid.

We also change telemetry's screenshot backend to always assume Content
Shell is new enough to support screenshots (if it exposes the right
API). This is because the Content Shell doesn't report a meaningful
branch number to telemetry.

BUG=285932
TEST=content/test/gpu/run_gpu_test --browser=android-content-shell pixel

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229902 0039d316-1c4b-4281-b951-d872f2087c98
Mojo bindings tweaks based on feedback from dmichael.

This addresses only a subset of issues raised on:
https://codereview.chromium.org/27034003/

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229903 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 229903