fix setting of interleaved data

the code for setting interleaved data (one table for all channels) was
broken.
the new code hopefully fixes it, by handling interleaved data explicitely.

this also use stride:0 to indicate interleaved data.
if no tables are given, disable the named vertexbuffer
fixed indentation
removed unused defines

GL_SHARING_EXTENSION?
UNIX???
handle negative values when "cast"ing t_float to uint

doing a static_cast<unsigned int>(-1.) will return 0xffffff!!!