Split out the backing of DrawTarget to DrawTargetBacking
This will make it easier to generically consume DrawTargets. If DrawTarget ever has support for other surface types, it will be much easier to generate shared surfaces from them. This allows hiding the GL Skia implementation detail behind another layer of abstraction.