Factor reusable GL and Ganesh-related code out of ganesh_app

This CL moves a bunch of generic GL and Ganesh related code out of ganesh_app
and into mojo/gpu and mojo/skia, respectively. We're planning to re-use this code
in Sky.

As part of this refactoring, I've more clearly separated the GL concerns from
the Ganesh concerns. I've also cleaned up the lifetime semantics and made it
easier for this code to handle losing the GL context.

R=jamesr@chromium.org

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