code: function init(_scene, _camera, _params) {
  	if (!_scene || !(_scene instanceof THREE.Scene)) {
  		throw new TypeError('Requires THREE.Scene argument');
  	}
  	if (!_camera || !(_camera instanceof THREE.Camera)) {
  		throw new TypeError('Requires THREE.Camera argument');
  	}
  	scene = _scene;
  	camera = _camera;
  
  	var p = _params || {};
  	domElem = p.renderer && p.renderer.domElement || window;
  
  	domElem.addEventListener('mousedown', mouseDown, false);
  	domElem.addEventListener('mouseup', mouseUp, false);
  	domElem.addEventListener('mousemove', mouseMove, false);
  }
docs: Initializes the cursor module
  @static
  @method init
  @param {THREE.Scene} scene
  @param {THREE.Camera} camera - Camera used for raycasting.
  @param {Object} [options] - An options object
  @param {THREE.WebGLRenderer} [options.renderer] - If supplied, applies cursor movement to render target
  instead of entire client
  @memberof module:altspace/utilities/shims/cursor