function getGlobalSingleton(name, creator, obj) {
    var global = (obj || getGlobalObject());
    var __SENTRY__ = (global.__SENTRY__ = global.__SENTRY__ || {});
    var singleton = __SENTRY__[name] || (__SENTRY__[name] = creator());
    return singleton;
}
Returns a global singleton contained in the global `__SENTRY__` object.

If the singleton doesn't already exist in `__SENTRY__`, it will be created using the given factory
function and added to the `__SENTRY__` object.

@param name name of the global singleton on __SENTRY__
@param creator creator Factory function to create the singleton if it doesn't already exist on `__SENTRY__`
@param obj (Optional) The global object on which to look for `__SENTRY__`, if not `getGlobalObject`'s return value
@returns the singleton