backends/drm: fix surface destruction

Xaver Hugl requested to merge work/zamundaaa/backend-crash into master

With value semantics, the destructor can be called more often than actually desired, so this commit ports the DrmEglLayerSurface to use unique pointers to store surface data instead

!4452 (merged) has introduced some issues that I didn't see in my first round of testing. This fixes them

Merge request reports