On a straightened photo, dragging a free crop's corner out diagonally grew
only one side: the corner grew across first, met the tilted edge, and from
there no straight step down stayed inside, so the other side never moved.
The corner now goes to the place nearest the pointer that keeps the frame
inside and at least the minimum size: the same convex nearest-place solve a
move uses (#2299), generalised to points that move with one or both of the
offset's components. On each axis the corner moves only between where it is
and where the pointer asks, so a sideways push past a tilted edge stops there
and keeps the height. Edge handles and unstraightened photos keep the old path.