Use VAO to save on vertex specifying commands when drawing

The new behavior becomes active if WebGL on the client system supports
OES_vertex_array_object. The VAO reference is stored on the geometry
chunk. If the interleaved buffer is dirtied and the VAO references it, it
is reconstructed based on the regular buffers. The VAO is also reset if
the chunk is rebuilt. VAOs are not used if morph geometry is present.

OES_vertex_array_object is a widely supported WebGL extension, around
75% of clients have it according to webglstats. In large scenes on
CPU-constrained systems that support the extension this patch can
increase FPS as much as 15%.
Remove dead code from display.js

chunkClass.unique is never set (chunkClass.prototype.unique might be
set), so this code was dead.
Reuse SceneJS_Chunk.init when constructing new chunks

This removes some duplicate code. "type" is set on the chunk prototype,
so there's no need to set it again in the constructor.
Merge pull request #318 from NVIDIA/cleanup

Cleanup
Merge pull request #317 from NVIDIA/use-VAO

Use VAO to save on vertex specifying commands when drawing
Make chunk IDs strings and fix programGlobal

programGlobal is set to chunkClass.prototype, not chunkClass. Chunk IDs
are made to always be strings, rather than a mix of strings and numbers
as they previously were.
Merge pull request #319 from NVIDIA/fix-programGlobal

Make chunk IDs strings and fix programGlobal
Fix feature index example link