Import and refactor QmlObjectSharedEngine from KDeclarative
- Only provide the shared variant, for the non-shared one is only in Plasma a KF5 compat usecase
- Remove the deprecated code (gets rid of KPackage dependency)
- Make QmlObject::engine return a shared ptr, this will avoid dangling pointers
- Move creation of KLocalizedContext to static template method, because we are in a Tier1 framework The translation domain can be set using properties
- Add autotests for translation domain and memory management