Clean up duplicate code in gpu_benchmarking_extensions.cc.

Introduce GpuBenchmarkingContext class which is used to initialize various
variables needed by most functions in this file. Only initialize compositor
variable if needed.

The previous version of this patch (https://codereview.chromium.org/23531046/)
caused failures because we always initialized the compositor. This can cause
problems if the browser is running in software mode, in which case there is no
compositor. By only initializing the compositor variable if needed the code more
closely mirrors the original code.

BUG=287720

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@225320 0039d316-1c4b-4281-b951-d872f2087c98
Make developerPrivate API available in stable.

BUG=297287

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@225321 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 225320
Check the return value when canceling prerenders.

It's possible for an IO thread cancel to race with the prerender being used on
the UI thread. If the UI thread wins, the prerender was used and we should not
cancel network requests, etc.

TEST=none
BUG=293540

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

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