Revert "Use VAO to save on vertex specifying commands when drawing"

This is to make refactoring the geometry node easier. VAO usage will be
restored in the end.

This reverts commit 22f9555d09d93f6dd38852908df2ee66737ba4f6.
Use draw chunk for drawElements instead of geometry chunk
Merge geometry and morphGeometry into one chunk

This is done in the simplest possible way in this commit, further changes
will refine the code.
Simplify morph geometry handling
Do not try to set morph attributes to values not morphed by the shader

Setting color when picking is skipped completely.
Use VAO on the refactored geometry+morphGeometry chunk

The VAO reference is stored on the geometry chunk, which now handles
both morph geometry and regular geometry. If the interleaved  buffer is
dirtied and the VAO references it, it is reconstructed based on the
regular buffers. It is also reconstructed when the morph geometry keys
change, and reset if the chunk is rebuilt.

Performance improvement is similar to the earlier VAO patch, but it also
applies to morph geometry. There's also the benefit that we don't need to
switch back to the default VAO after every draw call.
Only disable vertex attrib arrays when not using VAOs

This saves on disableVertexAttribArray calls. They are always disabled
at the end of doDrawList since picking still enables arrays on the
default VAO.
Merge pull request #322 from NVIDIA/refactor-geometry-3

Refactor geometry chunks so that vertex arrays are set in a single type of chunk