add UniformBufferObject support

Patch by Johannes Brunen, many thanks!
fixed: minor compile errors (signed/unsigned compare)