Feature Extractor accepts `segmentation_maps`
# What does this PR do?
This PR modifies `MaskFormerFeatureExtractor` in order to accepts a `segmentation_maps`. Under the hood in convert the map to binary masks using  `.convert_segmentation_map_to_binary_masks`. It follows an usage example:

```python
image = Image.open("./transformers/tests/fixtures/tests_samples/ADE20K/ADE_val_00000001.jpg")
segmentation_map = Image.open("./transformers/tests/fixtures/tests_samples/ADE20K/ADE_val_00000001.png")

feature_extractor = MaskFormerFeatureExtractor(num_labels=150)

inputs = feature_extractor(
    images=[image],
    segmentation_maps=[segmentation_map],
    return_tensors="pt",
)

mask_fomer = MaskFormerForInstanceSegmentation.from_pretrained("facebook/maskformer-swin-small-ade").eval()

mask_fomer(**inputs)
```

This simplifies and aligns the APIs to other models (e.g. `SegFormer`).

## Issues

We need to store somewhere the `num_labels`. Currently, I've added it as a `__init__` params. However, we may want to avoid storing dataset-related information in the feature extractor. Open for discussion :) 

## TODO

- [ ] re-upload the feature extractors config to the hub
_The documentation is not available anymore as the PR was closed or merged._<|||||>Thanks for the comments. All the conversations have been resolved, the feature extractors config have to be re-uploaded to the hub. 

I think passing the `num_labels` in the `__init__` is not the best solution (but it's a solution) since:
- the user must know and remember to override it later on
- the feature extractor is coupled with the dataset used to pretrained

Let me know if you have a better solution in mind :) <|||||>We need the number of labels stored somewhere to be able to run the inference widgets on those models, so having it in the feature extractor is the best solution I can think of.<|||||>Added `ignore index` and `reduce labels` following `SegFormer` APIs<|||||>Updated the code base, now the feature extractor will return two list when `segmentation_maps` is passed:

-  **mask_labels** -- list of tensor of shape `(labels, height, width)` 
-  **class_labels** -- list of tensor of shape `(labels, num_labels)`

They identify the labels of `mask_labels`, e.g. the label of `mask_labels[i][j]` if `class_labels[i][j]`. Due to different sizes in the first dimensions, they cannot be stacked together. 

We could pad them but this will add more development time<|||||>Thanks
- `ignore_index` is needed for some cases in which we want to deal with, well, indeces we want to ignore :)
<|||||>Update the doc in the feature extractor with an example<|||||>Update the documentation by changing `labels -> num_labels` and providing a clear example on how `segmentation_maps` are preprocessed for maskformer<|||||>Update docstring in modeling masksformer to reflect the changes in the inputs