Change glUniform calls to use slices

It's not idiomatic Go to use fixed sized arrays so I replaced all of these function calls with ones that use slices while using boundchecks and panics to make sure the slices are of the right size. This is also preferable in the sense that people using fixed arrays for these calls can just slice their arrays and pass it along, something that doesn't work the other way around.
Because many errors are also repetitive and refactoring will become an absolute nightmare, I grouped all errors into new variables and replaced all panics to include them.