Plasma spends roughly 0.5ms per applet just compiling this component (QQmlComponent creation), so cache it away.
All applets did share the same QQmlEngine here but I don't think this can be trusted, hence store the components in a QHash per engine.
While at itThe style is global per engine, turn the Item into a QtObject to reduce overhead since we just want the Component.onCompleted to be executed and that's it.
Before: 41 calls (18ms in total)here's no need to set it for every applet created as the engines are shared.
After: 41 calls (1.9ms in total)
Since this entire thing is just a hack, just setting a dynamic property to identify that we've set a style is valid imho.