Add KRoleNames to expose roleNames mapping to QML
This attached type provides procedural API as two Q_INVOKABLE functions to map both ways on demand.
This type is a minimal and attached version of !68 (closed)
This MR is initially based off !76 (merged) for no reason other than to check CI