Remove old libev EV_MULTIPLICITY define.
Default 3d2d windows to having vsync on.
Move uniform helpers from templates to functions with function pointer argument.
There was really no need for the template (which works only if the symbol is a
function with external linkage).  It is probably better to generate less code
any with a non-template function, and it will also work with function pointers
(for example when using GLEW).
Fix handling of glUniform*v functions.
The count field is the number of variables not the number of elements.
Additionally fix a TODO and support setting arrays of matrices.
Also adds checks if the temporary buffer allocation fails.
Thanks to Ryan Alexander for the original patch.