feat: accept PDF uploads (rasterize to per-page images, then process)
POST /v1/sessions now accepts PDFs alongside images. A PDF is rasterized with
poppler (pdftoppm) into one PNG per page, expanded in submitted order, then run
through the normal single-pass pipeline. Page count is capped per deployment;
oversized PDFs return a clean 400. Adds poppler-utils to the Docker image, a
multer size limit with graceful errors, and updates the demo file picker to
accept application/pdf.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>