Uses `process_batched_images` generator in the PIL fallback path to reduce GPU-CPU transfer overhead by processing frames in batches (default 20) instead of individually.
Also adds `tests/test_pil_batch_optimization.py` to verify the batch processing logic.