This change simplifies icon size logic - now it is controled only in one place: AbstractItem. This gives additional benefits, like icons perfectly centered.
This fixes issue (regression) with expander arrow not hiding when all items are visible. Probably I should create separate commit...
The effectiveStatus was copied from the model, not binded. Separate commit?
This looks like a sensible refactor to me, and it solves the issue that I was having with icon size changing based on the expanded popup visibility. I can't detect any regressions in sizing with horizontal or vertical panels of various sizes. However please wait to land this until somebody else possessing greater familiarity with this codebase such as @broulik, @mart, or @davidedmundson reviews it too.