Improve PT/TF equivalence test
# What does this PR do?

Improve PT/TF equivalence test.

To make the review a bit easier for you, I made some comments. And here are a summary of changes:

- `test_pt_tf_model_equivalence` in TensorFlow `LED` and `CLIP` are removed: the common one can handle it.
- `test_pt_tf_model_equivalence` in TensorFlow `LXMERT` and `ViTMAE` are removed: we only need to overwrite
  -  `prepare_pt_inputs_from_tf_inputs` for `LXMERT`
  -  `check_pt_tf_models` for `ViTMAE`
- Main changes in `TFModelTesterMixin.test_pt_tf_model_equivalence`
  - restructure the code into components, so they could be overwritten separately instead of the whole big block
  - move some ugly (temporary) logic blocks outside:
    - `_make_attention_mask_non_null`
    - `_postprocessing_to_ignore_test_cases`
  - About `check_pt_tf_outputs`:
    - it now can handle instances of `ModelOutput` (for CLIP model)
    - better failure message: print the tensor name where the large diff between PT/TF occurs, like `output.hidden_states` or `output.text_model_output.attentions_1`
  -  A better way to handle the cases where PT/TF outputs have different keys: we try to test the output values for the common keys in both outputs.
  
  
Once this PR is approved/merged:
 - To work on the same PT/TF equivalence test on PT side (should be very quick)
 - To apply the same logic to PT/Flax equivalence test, both on Flax and PT sides.
_The documentation is not available anymore as the PR was closed or merged._<|||||>(just rebase on main - no real change since your last review)<|||||>Merge now. Don't hesitate to leave comments in any :-)