KModifierKeyInfo: general optimisation
KModifierKeyInfo: don't use a QHash to hold a couple of elements
Make the KModifierKeyInfoProvider pointer member a std::unique_ptr, it's not used in many places to need to be backed by QSharedData, AFAICS.
A QExplicitlySharedDataPointer has the same size as a std::unique_ptr (8 bytes), so this change is binary compatible.
NO_CHANGELOG