fix: detection in all orientations and split-recording support
Fix detection failing in reverse landscape and upside-down orientations:
- Add OrientationEventListener to update ImageAnalysis/VideoCapture
targetRotation when the device rotates, keeping rotationDegrees correct
- Add RotatedBitmapPool to prevent pool collision in rotateIntoPooled()
where 180° rotation reused the same bitmap as the source (erasing it)
Fix split-recording (changing recordingId to start a new segment):
- Await Finalize event before starting next recording so CameraX Recorder
is fully idle
- Capture id/path per-recording in the Finalize closure instead of reading
shared mutable state that gets overwritten
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>