Quick and dirty hack to get WebGLRenderer working with new scene graph.

This is not supposed to be "proper" solution (for example this doesn't solve removing of objects), but at least some WebGL examples are working now.
WIP WebGLRenderer refactoring
Changed ambient handling for Phong and Lambert materials.

Removed diffuse color influence on ambient term in Phong. This was causing texture disappearance when diffuse color was black.

Made Lambert more similar to Phong: now it also has ambient color parameter. Before ambient light was affecting Lambert as if ambient color was always 0xffffff.
Tweaked cars materials.
Fixed cubemapped sphere shadow in shading testbed.
Added "metal" parameter to Phong. Added new materials test.

Metal makes specular term multiplicative (default is additive). This is to be able to have textured materials that do not have diffuse color, just a specular one, to get metallic look (additive specular gives plastic look).
Experimenting with Phong computed fully in fragment shader. Added new point lights test.

New per-pixel Phong code is enabled by setting `perPixel` parameter in Phong material.

This version is able to light single untesselated quad correctly.

Also it doesn't have point lights number limitation caused by varyings, all lights pass just through uniforms.

Performance wise it seems surprisingly quite similar to old version (stress test is ~6 fps faster with new version, though I guess for different use cases / GPUs it can differ).
Blender exporter seems to work fine with new Blender 2.60 ;)
Experimenting with array-less materials.

Do not use for anything, this is just snapshot of a test in progress. I solved quite a few issues, but many things are still clumsy and broken.
All WebGL examples working with array-less materials.

Noticeable difference: can't anymore assign Material references to faces directly - "face.materials" became "face.materialIndex". Materials have to go to "geometry.materials" array (to which "face.materialIndex" points). This is necessary to allow run-time changing of face materials (this indirection used to be done by arrays).

Some casualties:

- multi-materials example, this functionality isn't possible anymore
- had to simplify LOD Text examples as LODs don't handle groups (used to fake multi-materials)
- multi-materials sphere in materials example can't have faces with undefined materials (this may be fixable I guess, when there'll be some real use-case)
- scene format still has materials arrays, only the last material will be used (except when there are face materials, then materials from JSON will be used, as before)

Other renderers and their corresponding examples were not touched yet.

WebGLRenderer still needs some prettification, some things don't make sense anymore without arrays, code can be cleaned up further.
Cleaned up a bit buffers handling in WebGLRenderer.
Small change in setObjectFaces.

These little buggers were costing 3.35% of the total time in performance test.
More strict equality checking.

Just for the sake of consistency, when object properties are not involved performance difference is negligible.
And some more strict equality checking.
Removing some cruft in WebGLRenderer.
Added "autoUpdateObjects" flag to WebGLRenderer.

This is to be able to skip redundant updates in multipass rendering (like for shadow maps or dynamic cube maps).

Also reshuffled initWebGLObjects calls to have just a single update in a basic scenario of shadow map pass followed by scene render.

Still need to solve somehow potential redundant updates in EffectComposer (which can mix multiple scenes).
CombinedCamera decouples setFov from perspective mode now
ScaleModifier uses geometry.applyMatrix
Views for CombinedCamera
added zoom + 6 views for CombinedCamera