Fix PerceptionLM image preprocessing for non-tiled image input.
Author: shuminghu
Pull request: yes

Add support for vanilla image that only has C,H,W dims but not tiles dim.
This is non-default image shapes used in PLM but it's useful in demos and low-resoure devices.

@zucchini-nlp 

Comments:
@zucchini-nlp  Done. Added `PerceptionLMProcessorSingleTileVanillaImageTest`
Kept in the skipped state as original test due video file accesss error in processor_test_common.
But if video file loading is commented out, test passes.
```
tests/models/perception_lm/test_processing_perception_lm.py::PerceptionLMProcessorSingleTileVanillaImageTest::test_image_token_filling PASSED                                                                                                                          [100%]

============================================================================================================================== warnings summary ==============================================================================================================================
../../../../home/smhu/miniconda3/envs/hf/lib/python3.12/site-packages/_pytest/config/__init__.py:1474
  /home/smhu/miniconda3/envs/hf/lib/python3.12/site-packages/_pytest/config/__init__.py:1474: PytestConfigWarning: Unknown config option: asyncio_default_fixture_loop_scope
  
    self._warn_or_fail_if_strict(f"Unknown config option: {key}\n")

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
======================================================================================================================== 1 passed, 1 warning in 3.65s ========================================================================================================================
```

> Thanks, maybe we can add a test as well with tiling=False?

Changed to a single test within the existing test suite instead of a new suite.
When loading video is commented out, tests for image processing ran successfully.
```
RUN_SLOW=1 python -m pytest tests/models/perception_lm/test_processing_perception_lm.py::PerceptionLMProcessorTest -k "image and token_filling"
=================================================================================== test session starts ====================================================================================
platform linux -- Python 3.12.2, pytest-8.4.0, pluggy-1.6.0
rootdir: /storage/home/smhu/transformers
configfile: pyproject.toml
plugins: anyio-4.9.0
collected 47 items / 45 deselected / 2 selected                                                                                                                                            

tests/models/perception_lm/test_processing_perception_lm.py::PerceptionLMProcessorTest::test_image_token_filling PASSED                                                              [ 50%]
tests/models/perception_lm/test_processing_perception_lm.py::PerceptionLMProcessorTest::test_vanilla_image_with_tiles_token_filling PASSED                                           [100%]

===================================================================================== warnings summary =====================================================================================
../../../../home/smhu/miniconda3/envs/hf/lib/python3.12/site-packages/_pytest/config/__init__.py:1474
  /home/smhu/miniconda3/envs/hf/lib/python3.12/site-packages/_pytest/config/__init__.py:1474: PytestConfigWarning: Unknown config option: asyncio_default_fixture_loop_scope
  
    self._warn_or_fail_if_strict(f"Unknown config option: {key}\n")

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
======================================================================= 2 passed, 45 deselected, 1 warning in 5.11s ========================================================================
```

**[For maintainers]** Suggested jobs to run (before merge)

run-slow: perception_lm

The docs for this PR live [here](https://moon-ci-docs.huggingface.co/docs/transformers/pr_40006). All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.