fix light uniform array errors, and using shader without light by defaul...

...t fix #8612 

1. light using uniform array bugs.
GLProgram parse uniform array error, failed to parse array with one elements.
Set uniform array values use the method from GLPrgram instead.

2. Sprite3D uses shader without light by default.
So that fix issue #8612