only set dirty flag when we made a real change to the property (e.g. the Map in the RPG example will be dirty every frame even if the character has not been moved, this has now changed)
do not render an enchant.Map when it is set to invisible. Previously an invisible Map would always update its internal cache even when it is set to invisible