Shader linking
Delete shaders/programs when their wrapper is deleted
Use function for Program
Functional rendering