Make DETR `pixel_values` input optional
### Feature request

Currently the `pixel_values` input of `DetrModel` and `DetrForObjectDetection` is a required argument, which is nearly useless when `encoder_outputs` is specified. 

Therefore, I propose to make `pixel_values` optional and infer batch size for subsequent uses from the `encoder_outputs` when it is specified. We may also need to add a new optional `position_embeddings` argument for the decoder since the backbone is no longer used and no longer produces the embeddings in this case.

The same approach can be seen at many models, e.g. Bert, which also has its `input_ids` optional:
https://github.com/huggingface/transformers/blob/da47c264f9a881f5db5f6fbb59a30c95e428571f/src/transformers/models/bert/modeling_bert.py#L912-L914

The only issue is that in `DetrForSegmentation`, `pixel_values` is required for producing feature maps and reconstructing the predicted mask. So the proposal is not applicable for this model.

### Motivation

Described above.

### Your contribution

Can make a PR.

@NielsRogge What do you think :) ?
This issue has been automatically marked as stale because it has not had recent activity. If you think this still needs to be addressed please comment on this thread.

Please note that issues that do not follow the [contributing guidelines](https://github.com/huggingface/transformers/blob/main/CONTRIBUTING.md) are likely to be ignored.