FIX: properly add 'two-rows' class to header-topic-info container (PR #9497)

In this commit, I used incorrect logic to add the “two-rows” class to the container of the header-topic-info widget. I was just checking for a category, but many other variables need to be taken into account, which previously happened in the html function.

This change re-arranges some logic, so that the title/contents of the widget are set before buildClasses returns, so they can be used to calculate the needed className. Then in html(), the variables are accessed using this.:

The change felt big locally, but it is funny how tiny the diff is.