Arealight for MeshPhongMaterial & WebGLRenderer

There was always an AreaLight class but it was only used in the deferred renderer examples.  This is an implementation that works with MeshPhongMaterial and WebGLRenderer.

It isn't perfect and it is based on http://stackoverflow.com/questions/17021264/improved-area-lighting-in-webgl-threejs

This PR is not complete.  AreaLight should be properly added to the Three.JS Editor.

Includes my merge parts of these two other PRs: https://github.com/mrdoob/three.js/pull/5785 https://github.com/mrdoob/three.js/pull/5788
Could you use `[]` to follow the previous line?