backends/drm: make finding connector<->crtc combinations more efficient
Commit 1: Encoders are not really relevant for the test result, except that one of the encoders for the connector must be compatible with the crtc. The kernel usually exposes only a single encoder per connector for this reason, but if a driver exposes multiple then that means KWin will do a lot more tests than is necessary. In order to prevent that from happening, do fewer syscalls and simplify code, only check supported encoders once per connector. This is inspired by https://gitlab.freedesktop.org/mesa/drm/-/merge_requests/221, we could later switch to use that function in libdrm, too.
Commit 2: don't sort the crtc vector but instead explicitly try the current crtc. This removes sorting (obviously) and prevents one detachment from happening
For configurations where KWin actually has to search for matching combinations this might boost startup speed a little bit.