Move GLSurface creation from //ui/gl to //ui/gl/init.

Move the code that performs GLSurface creation to the new target. Remove
old surface creation code and delete static methods from GLSurface.

Add InitializeGLSurface() function to simplify a common pattern. When a
new GLSurface is created, it is wrapped in a scoped_refptr and then
initialized. If initialization fails nullptr is returned instead.
Encapsulate this logic into a function instead of repeating it.

There are three Ozone related GLSurface subclasses that defined in an
anonymous namespace. Instead of moving the class definitions to a header
file, public functions are added to create these types, as the classes
need to be refactored heavily.

These is almost the last part of step 2 in the associated bug.  There
may be some other small refactor work moving parts of initialization
code from gl_implementation_<platform>.cc to
gl_initializer_<platform>.cc necessary.

BUG=611142

Review-Url: https://codereview.chromium.org/2047283003
Cr-Commit-Position: refs/heads/master@{#399190}
21 files changed