Fix up the shader used to generate textures, to blend the way the code was expecting blending to work, rather than based on alpha, to make textures match the C++ code.  Move generation of the bark and leaf colors into Setup, and pass them down to the draw functions (also use the leaf color when generating vines, rather than the bark color).  Start putting together a bunch of Leaf objects in a list, but don't yet do anything with them.
Add the current index to the Array.prototype.foreach() callback function.  Use it in a new foreach() that adds each leaf's attributes to the proper Float32Array (to find the right offset into the array).  Remove the "radius" variable from the leaf-data-creation code since it isn't used.  Split the foreach() that sets leaves' colors onto three lines since it's long.  Note that the output of this draw call is broken, but I don't have time to figure out why yet.  (Note also that the color being sent to the card is the same for all leaf objects; that's easy to fix though, so I'll do it shortly.)
Fix the wrong color being sent to the card when rendering leaves; pull it from each leaf object rather than hardcoding leaf_color for all of them.