Reduce repeated XML code

* r16034 added the ability to nest `<repeat>` tags.
* Thus, we can use this to reduce the amount of XML needlessly repeated
Properly arrange the rows again.

The styles that were applied to the different rows are now applied
dynamically. This way we can easily support more phases later on.
Lay out phase rows dynamically.

This should ease supporting more phases without huge code/xml changes.
Also positions the phase icons.
ProdBars are currently not displayed, but will be dynamically shown/hidden
where needed and positioned accordingly.
Position prodBars dynamically.
Hide unused phase rows for struct boxes. Cleanup.
Calculate row size dynamically.