The right model data access is expensive because we need to search the right model for a matching key on every `data` call. This commit adds a LRU cache to the `data` call, storing by default up to 1000 rows.
The cache mechanism uses a QCache for fast index lookup and a std::list to preserve the access order and to ensure a controlled cache removal.
+ fix compilation errors on ConcatModel and WritableProxyModel
- proper handling of source models reset (left and right)
- removed QQmlParserStatus inheritance
- emiting model reset only if needed to simplify upstream models
initialization