code: function relativePosition(rect, targetRect, rel) {
        var x, y, w, h, targetW, targetH;
  
        x = targetRect.x;
        y = targetRect.y;
        w = rect.w;
        h = rect.h;
        targetW = targetRect.w;
        targetH = targetRect.h;
  
        rel = (rel || '').split('');
  
        if (rel[0] === 'b') {
          y += targetH;
        }
  
        if (rel[1] === 'r') {
          x += targetW;
        }
  
        if (rel[0] === 'c') {
          y += round(targetH / 2);
        }
  
        if (rel[1] === 'c') {
          x += round(targetW / 2);
        }
  
        if (rel[3] === 'b') {
          y -= h;
        }
  
        if (rel[4] === 'r') {
          x -= w;
        }
  
        if (rel[3] === 'c') {
          y -= round(h / 2);
        }
  
        if (rel[4] === 'c') {
          x -= round(w / 2);
        }
  
        return create(x, y, w, h);
      }
docs: Returns the rect positioned based on the relative position name
  to the target rect.
  
  @method relativePosition
  @param {Rect} rect Source rect to modify into a new rect.
  @param {Rect} targetRect Rect to move relative to based on the rel option.
  @param {String} rel Relative position. For example: tr-bl.