cogl: Abstract GL specific bits of Buffer
By introducing a BufferImpl that handles the buffer allocation/de-allocation bits and making the driver responsible for creating the correct impl. This allow moving various Buffer specific vfuncs from Driver as well as getting rid of the gl_handle field from Buffer.