shader uniform fixes

Made getUniformLocation public (so in the app we can manually get uniform location for custom uniforms, like structs etc. 
Also setUniformMatrix accepts a count, so we can send arrays of matrices (e.g. for bones and skinning etc).