code: function(point, epsilon) {
          epsilon = epsilon || 0;
  
          // See http://stackoverflow.com/a/2752754/1440403 for explanation
          var topLeft = this.getTopLeft();
          var topRight = this.getTopRight();
          var bottomLeft = this.getBottomLeft();
          var topDiff = topRight.minus(topLeft);
          var leftDiff = bottomLeft.minus(topLeft);
  
          return ((point.x - topLeft.x) * topDiff.x +
              (point.y - topLeft.y) * topDiff.y >= -epsilon) &&
  
              ((point.x - topRight.x) * topDiff.x +
              (point.y - topRight.y) * topDiff.y <= epsilon) &&
  
              ((point.x - topLeft.x) * leftDiff.x +
              (point.y - topLeft.y) * leftDiff.y >= -epsilon) &&
  
              ((point.x - bottomLeft.x) * leftDiff.x +
              (point.y - bottomLeft.y) * leftDiff.y <= epsilon);
      }
docs: Determines whether a point is inside this rectangle (edge included).
  @function
  @param {OpenSeadragon.Point} point
  @param {Number} [epsilon=0] the margin of error allowed
  @returns {Boolean} true if the point is inside this rectangle, false
  otherwise.