[`DETR`] Update the processing to adapt masks & bboxes to reflect padding
Author: amyeroberts
Pull request: yes

# What does this PR do?

Fixes an issue with the processing of batches of images for DETR and DETR related models. 

Previously, the annotations for the models - specifically the masks and bboxes, wouldn't be updated to account for the new image sizes if padding occurred. This PR pads the masks to match their corresponding masks. 

The following images show the processing behaviour for annotations when there are two images in the batch, of different sizes. 
* Each image is resized so that it's shortest edge is 800, and the other edge is resized to maintain the aspect ratio. If the resulting longest edge is longer than 1333, then the longest edge is resized to 1333 and the shortest edge resized to maintain the aspect ratio.
* The images are padded to the largest height and width dimensions in the batch
* The masks are padded to match their respective image's padding.
* The bounding box values are readjusted to account for the padded image size

Fixes #28153


## Bounding boxes

In the previous processing logic, there were two possible scenarios: 
* If `do_normalize=False` then no action is needed. The output bboxes are not in relative format. 
* If `do_normalize=True` the relative coordinates of the bbox needs to be updated to account for the additional pixels when padding. 

This PR: 
* Adds a new argument `do_convert_annotations` which enables the user to control whether the bboxes are converted independent of `do_normalize`. This is useful because 1) the normalization of bounding boxes is independent of the pixel values 2) The current `normalize_annotations` logic both normalizes AND converts to a different bbox format (`(x0, y0, x1, y1)` -> `(center_x, center_y, width, height)`)
* Conditionally updates the bounding boxes wrt the padded images only if `do_convert_annotations=True`. If `do_convert_annotations=False` this isn't necessary. 

Here we see the input and output images, and their bbox annotations. 

On main: 
![annotations_original](https://github.com/huggingface/transformers/assets/22614925/953ef7ab-4e55-4f93-832f-7b99d884729c)

On this branch: 
![annotations_fixed](https://github.com/huggingface/transformers/assets/22614925/4a8f247b-0f74-4e21-b602-1f21aa2f94f4)


## Masks

Masks are updated so they have the same padding as their corresponding image.

Here are the input and output images and masks: 

On main: 
![masks_0_original](https://github.com/huggingface/transformers/assets/22614925/9050b269-77f0-4a2d-9206-0e923039307b)

On this branch: 
![masks_0_fixed](https://github.com/huggingface/transformers/assets/22614925/23bda519-6c53-4845-94e9-604f7882dc14)

On main: 
![masks_1_original](https://github.com/huggingface/transformers/assets/22614925/7de82bfd-8f80-4a84-a483-40dac3b34b3b)

On this branch:
![masks_1_fixed](https://github.com/huggingface/transformers/assets/22614925/6cd543a2-e39f-4bf5-ae20-1491099d0225)


## 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?



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