Added explicit assignment of texture units.

Rather than simply creating the ShaderArray objects for light sources while their texture unit is bound, the texture unit is now passed as an argument to the constructor, to allow the arrays to re-bind the assigned unit when updating their data.