Expose only one LayerTreeHostClient::OffscreenContextProvider()

LayerTreeHostClient currently provides two OffscreenContextProvider getters,
one for contexts usable on the main thread and one for contexts usable on the
compositor thread. However, the compositor only uses one - the main thread
context in single threaded mode and the compositor thread context in threaded
mode - and the embedder that implements LTHClient picks which mode the
compositor runs in. This reduces the API down to one call and updates the
comment to better reflect the requirements.

Some compositor embedders, like RenderThreadImpl, do need to keep a main thread
context around for other reasons. When they are running the compositor in
single threaded mode it's useful to use the same context.  This moves the logic
for doing that sharing out to the embedders. It turns out there are only two so
it's all that much code.

R=danakj,piman

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

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