Replace weak with strong flags and remove readwrite as its unnecessary.
Add intrinsicContentSize method definition with content size calculation.
Call invalidateIntrinsicContentSize whenever updating custom badge text.

We need to call invalidateIntrinsicContentSize whenever text is updated
so auto layout gets notified. In one case we have the component always
right aligned so we need to have auto layout run again.