Don't completely destroy shader bindings of textures, etc when reloading...

I was getting a bug that when I reload my shaders, the texture bindings would be lost (so my lightmaps disappear and get replaced with the diffuse texture). This was caused by the bindings being discarded and replaced with a blank set of bindings. I have modified the event handler to keep the existing bindings on reload. This fixes the problem.