support shader program and bind GLSL variables
with variadic templates.