kms/connector: Keep a ref to the KmsImplDevice instead of KmsDevice
The KmsImplDevice always exists as long as a KmsConnector exists. The KmsDevice doesn't exist yet as long as the KmsImplDevice is not fully initiallized. Going through the KmsImplDevice makes sure we always have a valid reference and can release the device fd correctly when the initialization fails.
Closes: #3243 (closed)