Break up finishFloor and buildPortals. Separate out the parts that are just DOM manipulation from the parts the processthe SVG to build the dataStore. This will facilitate the addition of a dataStore caching mechanism.
Added function to get JSON formatted dataStore.
Add caching mechanism. Adds extra option parameter dataStoreCache which defaults to false. If it is specified, it first tries to parse the parameter as JSON. If that fails, it tries to fetch the JSON as a file. Finally, if that fails, it falls back to client-side generation of dataStore. If dataStoreCache is NOT specified, it works almost exactly as before, except that most of the contents of the origin initialize function have been moved to their own function, loadMaps().
Do some of the SVG processing on nodes which are disconnected from the DOM. Much better performance in cleanupSVG. finishFloor (and maybe buildPortals) would also benefit, but currently work as they previously did.
Merge pull request #7 from japorito/master

Add caching mechanism and process SVGs in a more efficient manner