kmsro: Fix renderonly_scanout BO aliasing
BOs can only have one handle. If renderonly_create_gpu_import_for_resource ends up importing a BO that was already mapped for scanout, it will get the same handle. This leaves us with two renderonly_scanout objects for one handle, and the first one to be destroyed will free it.
Import the BO map tracking logic from asahi, to avoid aliasing renderonly_scanout objects. Each actual BO now is only represented by a single object instance, which is reference counted.
Fixes KWin full-screen PipeWire capture breaking scanout entirely.
cc @alyssa
Signed-off-by: Asahi Lina lina@asahilina.net