Serialise glUniform through glProgramUniform
Implement all glUniformN_ and glProgramUniformMatrixMxN_ variants

* Using macros for most implementations redirecting to either
  Serialise_glUniformVector or Serialise_glUniformMatrix