Fix PyTorch Perceiver `PerceiverFourierPositionEncoding` with fp16
Passing `torch_dtype=torch.float16` with perceiver is currently broken on main. The error comes from a parameter generated on the fly always with `torch.float32` dtype, hence raising issues later on. Reproduction:

```python
from transformers import AutoImageProcessor, PerceiverForImageClassificationConvProcessing
from PIL import Image
import requests
import torch

url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)

image_processor = AutoImageProcessor.from_pretrained("deepmind/vision-perceiver-conv")
model = PerceiverForImageClassificationConvProcessing.from_pretrained("deepmind/vision-perceiver-conv", torch_dtype=torch.float16).to("cuda")

inputs = image_processor(images=image, return_tensors="pt").pixel_values.to("cuda")
inputs = inputs.to(torch.float16)
outputs = model(inputs=inputs)
logits = outputs.logits
list(logits.shape)

# model predicts one of the 1000 ImageNet classes
predicted_class_idx = logits.argmax(-1).item()
print("Predicted class:", model.config.id2label[predicted_class_idx])
```

Raising `RuntimeError: expected scalar type Float but found Half`

This PR fixes the issue. Let me know if you would like me to add tests for this. I'm actually surprised this was not catched in an existing test.

## Who can review?

@amyeroberts @sgugger

_The documentation is not available anymore as the PR was closed or merged._<|||||>@sgugger @amyeroberts Feel free to merge, it appears I have no merge rights even after approval on transformers.