[REF] Refactor track changes mixin
Recent Odoo 18.0 prints warning for each assingment of property on model
class, which was used by generic.mixin.track.changes for performance
to keep track of registered handlers.
Now, we rewrite it to use new generic_class_memoized_property,
that stores data in internal cache, thus not touching model attributes.
Additionall, more tests added to ensure everything works
This change handles flood in test logs caused by this PR