
Make CoglBuffer an abstract class and inherit the various Cogl*Buffer types from it. As none of the subclasses is overriding the vtable functions, they were not turned into vfuncs but plain function pointers in CoglBuffer. We still use _cogl_buffer_initialize until we port the various params into actual construct-only properties, similar to the previous commit for CoglTexture. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193>