rework glsimpleobject, add callbacks to glbuffer