Add dynamicRoles mode to ListModel for extra flexibility.
ListModel contains a new property called dynamicRoles.
By default this property is disabled, meaning that
the type of a given role cannot be changed dynamically.
However, when this property is set, the type of a
role can change between elements. This allows more
flexibility but comes at a significant performance
cost over the default static role mode.
Change-Id: I478d48c882f51ba2dde37f88e2aac744e919b68b
Reviewed-by: Martin Jones <martin.jones@nokia.com>