Remove dyn casts for the Cache passed to the MaterialEffects updator
- Remove dyn cast when clients pass a cache (seems actually we have an actual type and a dummy)
- Tidy up a bit the interface
This is in preparation for trying to actually use/pass a cache rather than doing the TLS lookup