Added resource manager for shaders, laying down foundation to decouple shader functions from device.