Shape.hasShadow cache fix

Typo was causing hasShadow cache not to be invalidated after using
setShadowEnabled. Fixes issue #693