Basic crop and rotate functionality with the option to keep a defined aspect ratio
Lossless rotation and cropping would be very important so that the images are not degraded. I suppose you could implement some sort of non-destructive editing system or save the crop and rotations as copies of the original, preserving the original.
Lossless rotation is kinda already there with the metadata based 90° rotation functionality (more fine-grained rotation cannot be lossless anyway). I guess having a function similar to “Apply Metadata Rotation to Pixel Data” could be a good way to offer the actual lossless rotation of the pixel data.
Lossless crop for JPEG files would be limited to steps of 8 or 16 pixels, so that requires a different UI than that for general crop and rotate.
Alternatively, there could be a “lossless” mode switch in the general crop and rotate UI that would limit rotation to 90° steps and limit the crop rectangle to the appropriate pixel multiples.