backends/drm: test and apply all mode changes at once
This avoids doing multiple atomic tests with outdated state for when multiple outputs change simultaneously, and avoids crashing because outputs get used before they're fully constructed (https://crash-reports.kde.org/organizations/kde/issues/40960, a regression caused by !5703 (merged))