Add caching mechanism and process SVGs in a more efficient manner

Allows dataStore caches to be handed in as javascript object directly, or as a link to a json file. Caching behavior defaults to off unless otherwise specified. If it fails to fetch a JSON file, it falls back to the uncached way of doing things. Provides method for retrieving dataStore as JSON (must be called after initialization completes, I did it from the javascript console).

Does some of the processing on the SVG files in disconnected nodes, and attaches it later, for performance reasons.

Backwards compatible.