Don't bind diffuse maps when rendering shadow maps for objects without transparency
Currently, any drawable with a diffuse map gets that diffuse map bound during shadow map rendering. We only actually need to do this for objects with transparency (as they might have a silhouette dependent on the diffuse map).
OpenSceneGraph doesn't offer a simple way to make parts of StateSets depend on other parts of StateSets, so unless there's a way of implementing a custom mechanism (e.g. a custom render bin), this optimisation isn't possible. However, @bzzt seems to have implemented a custom render bin, so my best guess is that this is why.