backends/drm: don't remove connectors the kernel doesn't consider removed
Removing connectors that are still powered leads to a mismatch in atomic commits: the crtc is still powered, but the connector also still there. If KWin tries to disable the crtc afterwards, the atomic commits fail because the connector needs to be disabled at the same time and it's missing from the atomic commit request. To fix this, whenever we fail to fetch information or get wrong data from the kernel (like 0 modes), use the cached information instead and keep the connector. BUG: 456298