Better TF docstring types
cc @sgugger - this is the PR based on the conversation we had on Slack! I just scanned our TF files and replaced some `Optional[]` and `Union[]` patterns with `|` instead. The doc builder now writes much cleaner docstrings, instead of the `tensorflow.python.framework.ops.Tensor` stuff it was writing before.

Some tests are failing because the test files also need `from __future__ import annotations` I think - will make sure everything passes before merging this.
_The documentation is not available anymore as the PR was closed or merged._<|||||>The tests seem to indicate we use those type annotations for something (auto-detecting the labels would be my guess).<|||||>We use them in one of the TF tests, in a way that causes issues with the `from __future__` import. I think there's an easy workaround for the affected test, though - working on it!<|||||>@sgugger issues have been resolved. What happened was two of the tests were trying to figure out which models were trainable using the type annotations if they were there, which was kind of flaky anyway and broke when we did this. I refactored the relevant code, which enabled some tests that were previously being skipped, and that surfaced a couple of small issues in the tests. The models are all fine, though, and everything passes now!