Add UperNet
# What does this PR do?

This PR adds the classic [UperNet](https://arxiv.org/abs/1807.10221) framework to Transformers.

Many papers that introduce a new vision backbone, such as BEiT, ConvNeXt, Swin,... benchmark their model on downstream tasks such as semantic segmentation and object detection. All of these papers use the UperNet framework (introduced in 2018) when evaluating their backbone on semantic segmentation.

Hence, this PR implements this framework, making use of the new [AutoBackbone API](#20229) to make the following possible:

```
from transformers import SwinConfig, UperNetConfig, UperNetForSemanticSegmentation

backbone_config = SwinConfig(out_features=["stage1", "stage2", "stage3", "stage4"])

config = UperNetConfig(backbone_config=backbone_config)
model = UperNetForSemanticSegmentation(config)
```

In the code above, we're instantiating the UperNet framework with Swin Transformer as backbone. The code looks equivalent for another backbone, like ConvNeXt:
```
from transformers import ConvNextBackbone, UperNetConfig, UperNetForSemanticSegmentation

backbone_config = ConvNextBackbone(out_features=["stage1", "stage2", "stage3", "stage4"])

config = UperNetConfig(backbone_config=backbone_config)
model = UperNetForSemanticSegmentation(config)
```

To do:

- [ ] looking into supporting `from_pretrained` of backbones => will be done in a follow-up PR
- [x] make sure UperNetImageProcessor does exact same preprocessing
- [x] make UperNetImageProcessor also take `segmentation_maps` as optional input
- [x] add image processor tests
- [x] convert all checkpoints + update organization
- [x] fix integration tests
_The documentation is not available anymore as the PR was closed or merged._<|||||>Thanks for the review, I'm waiting for the authors to respond regarding the creation of an organization on the hub.