Add a new table structure model using IBM Granite Vision to extract table
structure from document images via OTSL token generation.
Changes:
- Add `GraniteVisionTableStructureOptions` with configurable model repo,
device, batch size, and crop padding options
- Implement `GraniteVisionTableStructureModel` that uses a VLM pipeline to
generate OTSL tokens from cropped table images, then parses them into
`TableData` with cells, rows, and columns
- Register the model in `table_structure_engines` alongside existing engines
- Add example script `docs/examples/granite_vision_table_structure.py`
- Add tests covering options, model enable/disable, OTSL parsing (including
self-closing tags xcel/srow/ecel), and invalid-backend error handling
- Update model catalog docs and CI workflow accordingly
Signed-off-by: Eli Schwartz <eli.shw@gmail.com>