Add caching mechanism and process SVGs in a more efficient manner

Allows dataStore caches to be handed in a json directly, or as a link to a json file. Caching behavior defaults to off unless otherwise specified. Otherwise, it tries to parse it as JSON. If that fails it tries to fetch it as a JSON file. If that fails, 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.