Starting fixing backend abstraction leakage in cogl
At the moment the division in cogl between the core logic and the "drivers" is... not clean. Several places in cogl core include driver-private headers, and call GL functions (through the
GE macro) directly. This would make a non-GL backend (like say Vulkan) more difficult than necessary.
This series picks off some low-hanging fruit in cleaning that up. We move some gl-specific logic into the backend, remove some unused functionality, and remove unneeded driver-private includes from the cogl core. Should be no functional change.