shader: implemented reloading shaders at runtime