Now that there is no separate UI-specific wrapper, it belongs to the implementation rather than to the UI, probably
cherry-picked from: qt-wgpu-skel:9742916bd6932498e87b12d514ac209595ad216c
adapted from: qt-wgpu-skel:
* 751408ea92268a16a6931862cb00e8dbccb4e47e replace custom FFI with Diplomat
* 46ce52c2bf2f8ab76a68c284a2f70556a29d7c3b reduce the unsafe part to the GPU initialization
* 784e99b31c4ae3ab0f97ec26045511d00683d66b move the GPU initialization out of the bridge