copy defines when building feature selection shaders, to avoid sharing references to a single object
Factored a 'vertex layout' object out of GLGeometry.
Describes a vertex layout that can be use with different GL programs,
some of which may not support all of the atrributes included in the layout.
Example case is for feature selection passes, which include an extra attribute
not present in the main render pass.
Also hope this addresses an issue on Linux, where I believe an attribute was getting
optimized out of a program, causing program errors when trying to enable the attribute.
Merge pull request #12 from tangram-map/vertex_layout

Factored a 'vertex layout' object out of GLGeometry
method to manually update texture data (so we can do animated ones in the future)
animated ghost
merge with master