Selection-buffer handling code
This code is resonsible for turning gluint * arrays into structured representations for use by Python-level code.
Minimalist object for storing an OpenGL selection-buffer record
Provides near and far as *float* values by dividing by self.DISTANCE_DIVISOR (2**32-1) From the spec: Depth values (which are in the range [0,1]) are multiplied by 2^32 - 1, before being placed in the hit record.
Names are unmodified, so normally are slices of the array passed in to GLSelectRecord.fromArray( array )
Allow for treating the record as a three-tuple
Initialise/store the values
Convert a distance value from array uint to 0.0-1.0 range float
Produce list with all records from the array