Shape.hasShadow cache fix

Typo was causing hasShadow cache not to be invalidated after using
setShadowEnabled. Fixes issue #693
Merge pull request #781 from guycook/master

Shape.hasShadow cache invalidation fix