/*
Installs a global window.onerror error handler
to capture and report uncaught exceptions.
At this point, install() is required to be called due
to the way TraceKit is set up.

@return {Raven}
function install() {
	    var self = this;

	    if (self.isSetup() && !self._isRavenInstalled) {
	      tracekit.report.subscribe(function () {
	        self._handleOnErrorStackInfo.apply(self, arguments);
	      });

	      if (self._globalOptions.captureUnhandledRejections) {
	        self._attachPromiseRejectionHandler();
	      }

	      self._patchFunctionToString();

	      if (self._globalOptions.instrument && self._globalOptions.instrument.tryCatch) {
	        self._instrumentTryCatch();
	      }

	      if (self._globalOptions.autoBreadcrumbs) self._instrumentBreadcrumbs(); // Install all of the plugins

	      self._drainPlugins();

	      self._isRavenInstalled = true;
	    }

	    Error.stackTraceLimit = self._globalOptions.stackTraceLimit;
	    return this;
	  }