qt: add hash field in MLItem
The diffutil did only rely on MLId to know whether items are the same or not. This causes issues when an item is updated as the MLId is stable. Previously when we got and item updated event from the medialibrary we did update it explicitly in the cache given its id. But this proves to be problematic as an update on an Item may cause the item to be "in" or "out" of the cache.
Ideally we should compare every field of the items, but this is expensive. So this MR tries to mitigate the issue by computing a hash of every field of the items.