libkwineffects: adjust GLVertexBuffer and GLTexture APIs
commit 1: ensure vbo mapping failure is handled, and make the API a bit nicer by using a std::span
instead of a void pointer
commit 2: use std::unique_ptr
in GLTexture
, and get rid of the horrible way the d-ptr was initialized before
commit 3: handle GLTexture
allocation failures
commit 4: handle GLTexture
upload failures
The main goal of this is to give a guarantee that KWin will properly survive GPU resets, which isn't possible if we assert or crash