Refactored QQmlPropertyMap to be the baseclass.

All JavaScript visible objects are now based on QQmlPropertyMap so that libraries and other users can add dynamic properties to the objects like they do in many cases. Also fixed textured cube example to respect devicePixelRatio.

Change-Id: I71a8d8e32e2d856dc1c97f498c9a34b3858ab6a9
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Reviewed-by: Pasi Keränen <pasi.keranen@digia.com>