If not null, GlTextureProgram will care about the texture lifecycle: binding, unbinding and destroying.