Added "property variant"

Calling passTo on a property with a property variant parameter will
return the value of the property as the correct type, contained inside
the visitor. This allows you to retrieve a typed property from a base
class pointer without having to re-cast the pointer.