[Pix2Struct] Add support to resize embeddings
# What does this PR do?

This PR adds `resize_token_embeddings` support for Pix2Struct. This was required when I fine-tuned Pix2Struct on a key-value pair dataset (the one from [this Donut notebook](https://github.com/NielsRogge/Transformers-Tutorials/blob/master/Donut/CORD/Fine_tune_Donut_on_a_custom_dataset_(CORD)_with_PyTorch_Lightning.ipynb)). It oftentimes helps to add additional special tokens to the language decoder.

However, I noticed `tie_word_embeddings` is set to `True` in both the general config of Pix2Struct (`Pix2StructConfig`) as well as its text config (`Pix2StructTextConfig`). Printing out the weights of the decoder's embedding layer and its language modeling head seems to reveal weights aren't tied:

```
from transformers import Pix2StructForConditionalGeneration

model = Pix2StructForConditionalGeneration.from_pretrained("google/pix2struct-base")

print(model.decoder.embed_tokens.weight)
print(model.decoder.lm_head.weight)
```

So before merging this PR, we probably need to update the `tie_word_embeddings` attribute in the config of the models. Cause when you would load the model with this branch, it would break.

Currently you have to do:

```
from transformers import Pix2StructConfig, Pix2StructForConditionalGeneration

config = Pix2StructConfig(text_config={"tie_word_embeddings": False}, tie_word_embeddings=False)

model = Pix2StructForConditionalGeneration.from_pretrained("google/pix2struct-textcaps-base", config=config)
```

to make it work.

The PR also fixes some typos in configuration_pix2struct.py.

cc @younesbelkada 


_The documentation is not available anymore as the PR was closed or merged._<|||||>@NielsRogge could you share a notebook on finetuning in this dataset?