Render adjustments

* 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