Improve perceiver
# What does this PR do?

This PR removes the need for the hard-coded `d_model` attribute of the Perceiver. Instead, one calculates the dimensionality (i.e. number of channels) of the inputs based on the `num_channels` property of the preprocessor.

Note that `d_model` is still relevant for users 1) when embedding text using `PerceiverTextProcessor` 2) when no preprocessor is provided.