Improve model tester
# What does this PR do?

Some model testers have `__init__` like
```python
    def __init__(
        self,
        parent,
    )
```
and others accept many more arguments to customize them.

- This PR makes them accept arguments, so we have uniform style.
- This is also necessary to make `tiny model creation` to give **more correct** outputs (i.e. config/model/processor files), where `vocab_size` need to be sync between the tiny config (via model testers) and the converted (smaller) tokenizers.

I think for the review, you can just look the change in a single model test file :-)

#### TODO (in another PR 🙏 ): same change for some TF/Flax model testers
_The documentation is not available anymore as the PR was closed or merged._<|||||>@sgugger Just FYI

I updated this PR for `CANINE` https://github.com/huggingface/transformers/pull/19984/commits/bc83147623cb6441fed78d5ca9c46b114791706b and `ESMFold` https://github.com/huggingface/transformers/pull/19984/commits/0f8e4061f884fee859e63bf4b5d4bd0b8365906a

Don't really think you will reject these changes, but just in case!<|||||>Still LGTM!