TF: CTRL with native embedding layers
# What does this PR do?

Follows up on #23436, migrating the embedding layer of CTRL to native Keras embeddings

CTRL needed several related changes, so it deserves a stand-alone PR. This PR:
1. Replaces `TFSharedEmbeddings` by the native Keras layers
2. Fixes resized bias serialization, just like https://github.com/huggingface/transformers/pull/19013 does for BART -- in the process, gets rid of the separate LMHead class, which is outdated and tied to code scheduled for deprecation, and moves functions like `set_bias` to the right place
3. Fixes XLA issues (`prepare_inputs_for_generation` was incomplete)

_The documentation is not available anymore as the PR was closed or merged._<|||||>@amyeroberts comments addressed 🙌 

I've double-checked: slow tests are passing for CTRL