Remove most of pointers around Rating subsystem
Rating objects are lightweight gadgets, which are cheap to copy. Without pointers it is easier to track lifetimes and prevent accidental non-notifiable modifications. Raw Rating without a pointer as a PROPERTY type also makes it possible to interoperate with QML directly without QVariant wrappers, and fearlessly get sub-properties without optional chaining (?.) and nullish coalescing (??) operators.