as a static pointer with refcount if "global" and internal refcounted hash if created with name
and remove every reference of ThemePrivate::q, this is needed for sharing the same ThemePrivate between Thme einstances (there would be more then one q)
it will make easier making it implicitly shared