Add ShaderManager

not stable yet.