This diff fixes the regression where the RetrySend component doesn't appear when a message fails. This was due to me not considering this element when we were forcing the height for composed messages.
To fix this I am now forcing the height in Message and forwarding down viewStyle to TextMessage, MultimediaMessage, and RobotextMessage. This will end up setting the height in exactly the same places that it's being set in the previous revision, but now with the added benefit of localizing the height-warning logic in the same place that the height-forcing logic. We also actually already have a function (messageItemHeight) that calculates the height of this root view for all three of the message types so we can just reuse that here.