[`fix`] Sam3Video: Avoid fpn_position_embedding; use pooler_output
Author: tomaarsen
Pull request: yes

Resolves #43474
Resolves #43475

# What does this PR do?

* Removes `fpn_position_embeddings`, should have been `fpn_position_encoding` all along. Affected 3 architectures, and was introduced in #42564 3 days ago.
* Uses `...get_text_features(..., return_dict=True).pooler_output` format, this is required since #42564

## Details

### Regarding `fpn_position_embeddings`
This should never have existed, it was a simply typo on my side, not caught due to the lack of tests for these models. After this change, `fpn_position_embeddings` exists nowhere in the entire repository.

### Regarding `'CLIPTextModelOutput' object has no attribute 'shape'`
I've been able to reproduce #43474 with this script:
```python
from transformers import Sam3VideoModel, Sam3VideoProcessor
from accelerate import Accelerator
import torch

device = Accelerator().device
model = Sam3VideoModel.from_pretrained("facebook/sam3").to(device, dtype=torch.bfloat16)
processor = Sam3VideoProcessor.from_pretrained("facebook/sam3")

# Load video frames
from transformers.video_utils import load_video
video_url = "https://huggingface.co/datasets/hf-internal-testing/sam2-fixtures/resolve/main/bedroom.mp4"
video_frames, _ = load_video(video_url)

# Initialize video inference session
inference_session = processor.init_video_session(
    video=video_frames,
    inference_device=device,
    processing_device="cpu",
    video_storage_device="cpu",
    dtype=torch.bfloat16,
)

# Add text prompt to detect and track objects
text = "person"
inference_session = processor.add_text_prompt(
    inference_session=inference_session,
    text=text,
)

# Process all frames in the video
outputs_per_frame = {}
for model_outputs in model.propagate_in_video_iterator(
    inference_session=inference_session, max_frame_num_to_track=50
):
    processed_outputs = processor.postprocess_outputs(inference_session, model_outputs)
    outputs_per_frame[model_outputs.frame_idx] = processed_outputs

print(f"Processed {len(outputs_per_frame)} frames")

# Access results for a specific frame
frame_0_outputs = outputs_per_frame[0]
print(f"Detected {len(frame_0_outputs['object_ids'])} objects")
print(f"Object IDs: {frame_0_outputs['object_ids'].tolist()}")
print(f"Scores: {frame_0_outputs['scores'].tolist()}")
print(f"Boxes shape (XYXY format, absolute coordinates): {frame_0_outputs['boxes'].shape}")
print(f"Masks shape: {frame_0_outputs['masks'].shape}")
```

And I can confirm that it works after this PR:
```
Processed 51 frames
Detected 2 objects
Object IDs: [0, 1]
Scores: [0.96875, 0.9765625]
Boxes shape (XYXY format, absolute coordinates): torch.Size([2, 4])
Masks shape: torch.Size([2, 540, 960])
```

This was a case of me missing a `get_text_features` use, likely because the architecture itself doesn't implement one of these methods, but only uses it from another architecture. There's a chance this exists in more architectures, sadly. 

## Before submitting
- [ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
- [x] Did you read the [contributor guideline](https://github.com/huggingface/transformers/blob/main/CONTRIBUTING.md#create-a-pull-request),
      Pull Request section?
- [x] Was this discussed/approved via a Github issue or the [forum](https://discuss.huggingface.co/)? Please add a link
      to it if that's the case.
- [ ] Did you make sure to update the documentation with your changes? Here are the
      [documentation guidelines](https://github.com/huggingface/transformers/tree/main/docs), and
      [here are tips on formatting docstrings](https://github.com/huggingface/transformers/tree/main/docs#writing-source-documentation).
- [ ] Did you write any new necessary tests?

## Who can review?

@zucchini-nlp @ArthurZucker 

- Tom Aarsen


Comments:
**[For maintainers]** Suggested jobs to run (before merge)

run-slow: edgetam_video, sam2_video, sam3_tracker_video, sam3_video

run-slow: edgetam_video, sam2_video, sam3_tracker_video, sam3_video

This comment contains `run-slow`, running the specified jobs: 

models: ["models/edgetam_video", "models/sam2_video", "models/sam3_tracker_video", "models/sam3_video"]
quantizations: []

The docs for this PR live [here](https://moon-ci-docs.huggingface.co/docs/transformers/pr_43487). All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

## CI Results
[Workflow Run ⚙️](https://github.com/huggingface/transformers/actions/runs/21353989964)

✅ No failing test specific to this PR 🎉 !