webglapp.js: refactored completely. No more global variables.
Object Tree and Connectivity widgets load skeletons in a batch
rather than one by one, reducing the number of renders to one,
and minimizing the amount of queries to get the neuron names to one.
webglapp.js: block UI for loading skeletons only if there's more than one to load.
webglapp.js: implement missing function refresh_skeletons for the update button.
webglapp: reduced memory footprint dramatically

* By reusing Vector3 instances when creating edges of the skeleton
(used to have 2 new Vector3 per edge in the skeleton, and now there is 1).
* By reusing Vector3 for the skeleton node part of the connector edge.
* By not storing nodeProps and connectorProps, which were an array of arrays,
each with the skeleton node position and related IDs. Now the ids (node_id,
user_id, and reviewer_id) are stored as fields in the Vector3 of the geometry.
No new data is loaded; instead, the existing information in the geometry
is mined to create the graph or recolor the nodes or recompute the restricted
connectors.
Calculate the number of zoom levels using maximum rather than minimum dimension.