Add a cache to GpuDevice so that shaders are only compiled once and then reused next time.
Add a cache to GpuDevice so that shaders are only compiled once and then reused next time.