Add tiny_model_id support to ProcessorTesterMixin for memory-sensitive tests
Author: ydshieh
Pull request: yes

<!-- ci-dashboard-badge:start -->
[![CI](https://transformers-ci.lor-e.huggingface.cool/badge/pr?pr=47005)](https://transformers-ci.lor-e.huggingface.cool/d/pytest-observability-by-pr/pytest-observability-branch?var-pr=47005)
<!-- ci-dashboard-badge:end -->

## Summary

- Adds `tiny_model_id` attribute to `ProcessorTesterMixin` allowing test classes to specify a lightweight Hub repo (e.g. containing only a tiny tokenizer) for use in most tests, while keeping `model_id` as the full Hub repo used only when explicitly requested via `get_processor(use_full=True)` / `get_component(use_full=True)`
- When `tiny_model_id` is set, `setUpClass` loads the tiny processor into `tmpdirname` (used by all tests) and the full processor into `full_tmpdirname` (used only on demand)
- Missing components in the tiny repo fall back to `model_id` during setup
- Applies this to Fuyu, whose tokenizer has ~262K vocab tokens making tests slow and memory-intensive

## Memory benchmark (Fuyu tests)

**Before (`main`):**
```
   Delta MB     End MB  Worker  Test
  ---------  ---------  ------  ------------------------------------------------------------
  +   347.7     2045.3    main  FuyuProcessingTest::test_args_overlap_kwargs
  +   329.8     2441.9    main  FuyuProcessingTest::test_processor_from_and_save_pretrained_as_nested_dict
  +    91.4     1682.1    main  FuyuProcessingTest::test_apply_chat_template_assistant_mask
  +    51.3     1677.8    main  FuyuProcessingTest::test_fuyu_processing
  +    49.8     1678.5    main  FuyuProcessingTest::test_fuyu_processing
  +    34.8     2112.1    main  FuyuProcessingTest::test_processor_from_and_save_pretrained
  +    17.4     1700.9    main  FuyuProcessingTest::test_unstructured_kwargs_batched
  +    12.5     1691.0    main  FuyuProcessingTest::test_fuyu_processing_multiple_image_sample
  ...

  Worker   Tests   Peak RSS MB   Net growth MB
    main     195       2451.4   +       833.6

  28 passed, 37 skipped in 103.82s (0:01:43)
```

**After (this PR):**
```
   Delta MB     End MB  Worker  Test
  ---------  ---------  ------  ------------------------------------------------------------
  +    51.3     1677.8    main  FuyuProcessingTest::test_fuyu_processing
  +    49.8     1678.5    main  FuyuProcessingTest::test_fuyu_processing
  +    17.4     1700.9    main  FuyuProcessingTest::test_unstructured_kwargs_batched
  +    12.5     1691.0    main  FuyuProcessingTest::test_fuyu_processing_multiple_image_sample
  +    12.1     1703.6    main  FuyuProcessingTest::test_unstructured_kwargs_batched
  +     9.8     1628.7    main  FuyuProcessingTest::test_flat_kwarg_applied_when_modality_dict_lacks_it
  +     9.2     1626.5    main  FuyuProcessingTest::test_flat_kwarg_applied_when_modality_dict_lacks_it
  +     5.2     1683.0    main  FuyuProcessingTest::test_fuyu_processing_multiple_image_sample
  ...

  Worker   Tests   Peak RSS MB   Net growth MB
    main     130       1704.0   +        83.5

  28 passed, 37 skipped in 14.45s
```

| Metric | `main` | This PR | Improvement |
|---|---|---|---|
| Peak RSS | 2451.4 MB | 1704.0 MB | -747 MB |
| Net growth | +833.6 MB | +83.5 MB | **10x reduction** |
| Runtime | 103.82s | 14.45s | **7x faster** |

## Test plan

- [x] Run `pytest tests/models/fuyu/test_processing_fuyu.py` and verify all existing tests pass
- [x] Verify memory usage is reduced compared to `main` using the memory tracker plugin


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

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

run-slow: fuyu

<!-- ci-dashboard-recap:start -->

---

### CI recap

**Dashboard:** [View test results in Grafana](https://transformers-ci.lor-e.huggingface.cool/d/pytest-observability-by-pr/pytest-observability-branch?var-pr=47005)
**Latest run:** [28653280321:1](https://github.com/huggingface/transformers/actions/runs/28653280321)
**Result:** `success` | **Jobs:** 14 | **Tests:** 32,621 | **Failures:** 62 | **Duration:** 2h 46m

<!-- ci-dashboard-recap:end -->

It's a good idea, but maybe after I upload the script that is used to create the tiny tokenizer and upload more tiny tokenizers first.