Allow asynchronous GPU context creation for browser clients

This moves the call to establish a GPU channel out of WGC3D.
It adds an asynchronous method to BrowserGpuChannelHostFactory
that registers callbacks that are run on the main thread once
the channel is established.

This is prerequisite work for asynchronous OutputSurface creation.

BUG=270179,125248,235300
R=piman@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@228777 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 228777
[NaCl SDK] Update nacl_io demo to include socket operations.

You can now connect to a TCP server and send and recv data
from within the demo.

Also, add more directory operations.

R=binji@chromium.org

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

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