Performance optimization — do not add animation while already animated, ...

And do not recalculate text height using `sizeThatFits:` method if text haven't changed.