SVGOverlay: completed first pass at refactoring SkeletonElements.

SkeletonElements is now a function that declares an object, rather
than being an object by itself. The SVGOverlay instantiates SkeletonElements
by giving it a reference to the Raphael paper. In the future, this
distinction will enable having independent SVGOverlay objects, one
per stack, e.g. one per XY, XZ, YZ view.

Google Chrome profiling tools now indicate that Raphael SVG elements
no longer accumulate in the thousands when browsing through sections.
This results in a significant performance improvement, particularly
in a lack of performance degradation over time.

Some lessons learned:
1. Javascript memory management is far easier to handle and performs
better when using objects that consist of variables, and then defining
all its member functions (methods) in the prototype object.
2. Raphael elements, when the opacity is zero and the fill is not defined,
then they are invisible to mouse events. For an invisible element that
reacts to mouse events, one must define a fill color and leave the opacity
at zero.