Implementation of GLU Nurbs structure and callback methods
Same basic pattern as seen with the gluTess* functions, just need to add some bookkeeping to the structure class so that we can keep the Python function references alive during the calling process.


gluNurbsCallback( nurb , which , CallBackFunc )
Dispatch to the nurb's addCallback operation


GLU Nurbs structure with oor and callback storage support
IMPORTANT NOTE: the texture coordinate callback receives a raw ctypes data-pointer, as without knowing what type of evaluation is being done (1D or 2D) we cannot safely determine the size of the array to convert it. This is a limitation of the C implementation. To convert to regular data-pointer, just call yourNurb.ptrAsArray( ptr, size, arrays.GLfloatArray ) with the size of data you expect.