OpenGL: Reference count the GradientTriangle instances instead of copying everywhere