important things left to be figured out:
- b() 函数的调用时机
- onProgramBind() 回调函数的意图
- onProgramCreated() 回调函数的意图
- onRender() 的调用时机 & 作为回调函数的意图
- onTextureInvalidate() 的调用时机 & 作为回调函数的意图
这些问题在初步修复 Texture TextureManager 以及其他 GLShaderProgram 子类后，再做回答