function _defineProperties(target, props) {
  for (var i = 0; i < props.length; i++) {
    var descriptor = props[i];
    descriptor.enumerable = descriptor.enumerable || false;
    descriptor.configurable = true;
    if ("value" in descriptor) descriptor.writable = true;
    Object.defineProperty(target, descriptor.key, descriptor);
  }
}
A duck punch of the $.ui.mouse _mouseInit method to support touch events.
This method extends the widget with bound touch event handlers that
translate touch events to mouse events and pass them to the widget's
original mouse event handling methods.