[DO NOT MERGE] Add Crop Transformation
# What does this PR do?

Abstracts out cropping logic to be a more generic `crop` function which other, more specific cropping functions e.g. `center_crop` can call. 

Motivation: 
* The output of the CLIP feature extractor changed after #17628. This was due to a difference in how the `top` and `left` coordinates were calculated resulting in some values being off by one. 
* The original CLIP feature extractor matched the original implementation
* Having a more generic `crop` method enables each image processor to have its own center_crop logic with minimal code replication. 

[BEFORE MERGING]: Verify this doesn't have large impact on any popular CLIP dependant pipelines

Fixes #22505


## 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#start-contributing-pull-requests),
      Pull Request section?
- [ ] 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.
- [ ] 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?
The docs for this PR live [here](https://moon-ci-docs.huggingface.co/docs/transformers/pr_22608). All of your documentation changes will be reflected on that endpoint.