Fix bugs in mllama image processing
Author: tjohnson31415
Pull request: yes

# What does this PR do?

I found that using a 1x1 PIL image with the `MllamaImageProcessor` surfaced a couple of bugs:
A 1x1 PIL image results in ambgiuous channel dimension in `infer_channel_dimension_format`. The default in the ambiguous case is to use the first dimension, which is incorrect and results in a `ValueError: mean must have 1 elements if it is an iterable, got 3`. Another bug was that explicility setting the input channel format results in a similar error: `ValueError: mean must have 224 elements if it is an iterable, got 3`.

This PR resolves the bugs by:
1. fixing support calling the processor with `input_data_format="channels_last"` by using `data_format` instead of `input_data_format` for rescaling and normalizing after the call to `to_channel_dimension_format`
2. checking if the image is a PIL image and inferring that the channel dim is last if not expiclitly set

There is some discussion in an issue reporting the same bug that was closed without a fix: https://github.com/huggingface/transformers/issues/34029

Another edge case bug this PR fixes is handling an image that has an impractical aspect ratio instead of having PIL raise a `ValueError: height and width must be > 0` error. The fix here is to force the minimum resized image dimensions to be 1 or greater.

## Before submitting
- [ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
- [x] Did you read the [contributor guideline](https://github.com/huggingface/transformers/blob/main/CONTRIBUTING.md#create-a-pull-request),
      Pull Request section?
- [x] Was this discussed/approved via a Github issue or the [forum](https://discuss.huggingface.co/)? Please add a link
      to it if that's the case.
- [x] Did you make sure to update the documentation with your changes? Here are the
      [documentation guidelines](https://github.com/huggingface/transformers/tree/main/docs), and
      [here are tips on formatting docstrings](https://github.com/huggingface/transformers/tree/main/docs#writing-source-documentation).
- [x] Did you write any new necessary tests?


## Who can review?

Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR.

@ArthurZucker
@qubvel

<!-- Your PR will be replied to more quickly if you can figure out the right person to tag with @

 If you know how to use git blame, that is the easiest way, otherwise, here is a rough guide of **who to tag**.
 Please tag fewer than 3 people.

Models:

- text models: @ArthurZucker
- vision models: @amyeroberts, @qubvel
- speech models: @ylacombe, @eustlb
- graph models: @clefourrier

Library:

- flax: @sanchit-gandhi
- generate: @zucchini-nlp (visual-language models) or @gante (all others)
- pipelines: @Rocketknight1
- tensorflow: @gante and @Rocketknight1
- tokenizers: @ArthurZucker
- trainer: @muellerzr and @SunMarc
- chat templates: @Rocketknight1

Integrations:

- deepspeed: HF Trainer/Accelerate: @muellerzr
- ray/raytune: @richardliaw, @amogkam
- Big Model Inference: @SunMarc
- quantization (bitsandbytes, autogpt): @SunMarc @MekkCyber

Documentation: @stevhliu

HF projects:

- accelerate: [different repo](https://github.com/huggingface/accelerate)
- datasets: [different repo](https://github.com/huggingface/datasets)
- diffusers: [different repo](https://github.com/huggingface/diffusers)
- rust tokenizers: [different repo](https://github.com/huggingface/tokenizers)

Maintained examples (not research project or legacy):

- Flax: @sanchit-gandhi
- PyTorch: See Models above and tag the person corresponding to the modality of the example.
- TensorFlow: @Rocketknight1

 -->


Comments:
gentle ping @qubvel

Thanks @Rocketknight1 for the ping and @qubvel for the review!

I have made the suggested changes.

I also added a fix for another edge-case bug with an image with an impractical aspect ratio that would result in the resized image having an invalid dimension of 0. Please review this additional fix and test as well 🙏