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*()
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.