Use persistent map of privet tokens for PrivetURLFetcher

Use a map of privet tokens in PrivetURLFetcher that persists between
instantiations. This should cut down on spurious /privet/info calls in cases
where spurious calls may cause performance issues (i.e. repeated frequent calls)

BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@252123 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 252123
Leak contexts that are owned by another thread.

This avoids destroying contexts on the main thread that are bound to
the compositor thread as this causes DCHECKs to fire and is a bad thing.

The renderer already does this, as it has been threaded much longer on
more platforms so we noticed it. Recently noticed this in browser tests
in the UI compositor too.

This also updates the Mojo DemoContextFactory to match the behaviour of
GpuProcessTransportFactory wrt the offscreen compositor context creation
and destruction.

R=jamesr, piman
BUG=344016

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

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