Improved renderer efienciency

genBufferData is only called once at object creation instead of in every
frame. Changes only affecting line class
Fixed efficient rendering for squares and triangles too
Code cleanup