code: public static Point closestInteriorPoint (IRectangle r, IPoint p)  {
          return closestInteriorPoint(r, p, new Point());
      }
docs: Computes and returns the point inside the bounds of the rectangle that's closest to the
  given point.