Merge pull request #4810 from srifqi/patch-1

Update BoxHelper.js
Added GeometryLoader placeholder.
BufferGeometry based BoxHelper. Fixes #4810.
Fixed BoxHelper update.
Projector: Support for non-indexed BufferGeometry based Line in LinePieces mode.
Updated builds.
Re-added special handling of SkinnedMesh.
This commit re-introduces THREE.Skeleton to decouple bone/object transformations
from the transforms that bind a THREE.Skeleton to a THREE.SkinnedMesh.  This
allows us to animate multiple THREE.SkinnedMesh instances with a single
THREE.Skeleton.

Here is a summary of the major changes:

extras/helpers/SkeletonHelper.js
* Fixed code mistakes (missing 'THREE').

objects/Bone.js
* Removed duplicate code that is already in THREE.Object3D.

objects/Skeleton.js
* Not a descendant of THREE.Object3D (previous version was).
* Stores boneMatrices and boneTexture.
* Independent of THREE.SkinnedMesh.

objects/SkinnedMesh.js
* Refactored boneMatrices and boneTexture related code into THREE.Skeleton.
* Added two bind matrix modes: "attached" and "detached".

renderers/WebGLRenderer.js
renderers/webgl/WebGLProgram.js
* Attach bindMatrix and bindMatrixInverse to shaders.

renderers/shaders/ShaderChunk.js
renderers/shaders/ShaderLib.js
* Use bind matrices during skinning.
Re-added Skeleton and SkeletonHelper to includes.
Merge branch 'dev' into refactor_flexible_skinning
Update ShaderMaterial.html

Example code should be in a `code` element.
Merge pull request #4844 from ZhanruiLiang/patch-1

Update ShaderMaterial.html
Cleaned up docs/ShaderMaterial.
Moved GeometryUtils to examples/js/utils. Added randomPointsinBufferGeometry. See #4835.
Also moved GeometryUtils.merge to geometry.merge.
Moved BufferGeometryUtils and UvsUtils to examples/js/utils. See #4835.
Updated builds.
Simplified PDBLoader.
Added labels to PDBLoader example. Fixes #4846.
Clean up.
Moved BufferGeometryUtils.fromGeometry to BufferGeometry. See #4835.