ScreenPool: Store primary connector separately
- Store the primary connector in a dedicated config key instead of making slot 0 do double-duty. This prevents setPrimaryConnector() from renumbering the connector list and 'losing' existing panel/desktop settings.
- Add a helper function to generate connector names instead of using QScreen::name() everywhere. The helper function defaults to a QScreen::manufacturer()/model()/serialNumber() tuple where available with a fall-back to the original name() logic.