Adding string loading to the JSONLoader

Abstracted the JSON.parse and callback functionality into JSONLoader loads which allows a JSON string to be parsed and loaded without having to serialize it to disk as a JSON file first before calling JSONLoader.load

Additionally the metadata is added to the geometry result so that it can be accessed in the callback function.