code: function (srcWidth, srcHeight, maxWidth, maxHeight, centerCrop) {
      var ratio = centerCrop ? Math.max(maxWidth / srcWidth, maxHeight / srcHeight) :
        Math.min(maxWidth / srcWidth, maxHeight / srcHeight);
      return {
        width: srcWidth * ratio, height: srcHeight * ratio,
        marginX: srcWidth * ratio - maxWidth, marginY: srcHeight * ratio - maxHeight
      };
    }
docs: Conserve aspect ratio of the original region. Useful when shrinking/enlarging
  images to fit into a certain area.
  Source:  http://stackoverflow.com/a/14731922
  
  @param {Number} srcWidth Source area width
  @param {Number} srcHeight Source area height
  @param {Number} maxWidth Nestable area maximum available width
  @param {Number} maxHeight Nestable area maximum available height
  @return {Object} { width, height }