Draft: qt: register classes using qmlRegisterTypesAndRevisions
first 8 commits are from !5970 (merged), marked as draft until it's gets merged
the bias of this merge request is to consider that all QML singleton are singletons (either pure QML singleton or C++ singleton), if we don't want objects such as (main)Player or (main)Playlist to be singleton, I think they should be made as non-singleton on the QML side (access them through the MainCtx)
eventually we should be able to register classes in our build-system with qmltyperegistrar
and generates qmltypes files for completion and linting