Deprecate the with statement in QML

It is generally considered deprecated in JavaScript and its use disables
a whole range of optimizations that we would like to apply in the future.

Therefore this patch will issue a warning if the with statement is detected.

This change is also documented, along with the plan on enabling strict mode
in the future.

Change-Id: Ie60f0536e0bdd6ecc537d8e34efbd8868bcad743
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Fallback to QMetaObject for properties not in QQmlPropertyCache

QQmlOpenMetaObject does not update the QQmlPropertyCache when new
properties are added, meaning that the QQmlPropertyCache might not
contain all of the dynamic properties of an object. Therefore, make
QQmlPropertyCache fallback to reading the QMetaObject when a property is
not found.

Task-number: QTBUG-31226
Change-Id: I760aaa155b1952f6f52ab9ce173fb9547f8e34a6
Reviewed-by: Alan Alpert <aalpert@blackberry.com>