Fix for HeaderPanel hidden widgets when set again.

This fixes the bug on the HeaderPanel when a header, content or footer
widget is set again it will become hidden. This is caused because the
container elements in the HeaderPanel in which the widgets are set will
get display none because the add calls remove, and remove hides it as part
of the remove. In the setters before the call to add specific the container
is made visible but the bug is that the add hides it via the remove. Which
is only triggered if the current widget is null (and remove is not called).
This fix moves the call from before the add, to after the remove (in the add)
to make sure it is made visible as expected. To be complete it only makes
the containers visible if the new widget passed is not null.

Bug: issue 7037
Change-Id: I2b41970c37112db257089dc648534de1f257fc00