new THREE.TypedArrayUtils

performant quicksearch +kdtree for typed arrays, including example
prevent animation from searching forever for next key. When next key has lower index than prev, we have looped, and expect the time value to be less then the current
Intial refactoring for WebGLShaders (See #4129)

- split up files
- added new files descriptions to docs
Docs: Fix broken links for new Shader files
Remove duplicated code in ShaderLib
Fix build path to Shader files
Small tweaks to periodic table example to control camera zoom behavior.
Vector3.get*FromMatrix() -> Vector3.setFromMatrix*()
Update docs to reflect change to default setting of 'alpha' from true to false made in 0ade4a1d3a2caa4987fb56af1040a7b034c15749.
Example: WebGL GPGPU Flocking Birds #4069
CanvasRenderer: Account for spirite rotation when computing clear area.
Merge branch 'gpgpu' of https://github.com/zz85/three.js into dev
Merge branch 'dev-periodic' of https://github.com/WestLangley/three.js into dev
Merge branch 'dev-vector3' of https://github.com/WestLangley/three.js into dev
Merge branch 'dev-canvas' of https://github.com/WestLangley/three.js into dev
Updated builds.
Merge branch 'docs' of https://github.com/webavant/three.js into dev
Projector handling sprites being at z -1 or z 1.
Sprites example cameraOrtho frustum from 1 to 10 as per @WestLangley suggestion.
Removed unneeded check in Projector/Sprites.