r69 compatible WebGLOptimizedRenderer

An update of my previous pull request for users of r69. 

Highlights:

- needed to change program.id with _currentMaterialId in the loadUniformsGeneric() function
- Refactored the sampleUniform function to include the sampleUniformArray function

New Compression Ratio (Ocean Demo)

r69 WebGLRenderer = 303 calls
r69 WebGLOptimizedRenderer = 134 calls

~56% call reduction

For comparison, the original demo (raw WebGL) = 105 calls