multithreaded ShaderManager for #17