libkwineffects: adjust GLVertexBuffer and GLTexture APIs

Merged Xaver Hugl requested to merge work/zamundaaa/vbo into master

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

Merge request reports