Fix broken coin placement in levelup dialog + possible memleak

The placement of assigned coins is broken after 41c60459864f504b89f9b08642c701402d9bef2d, which alone, however, is not the direct cause. The real problem is that when coins are assigned, they are attached to the main widget of the dialog and moved to an absolute position. The main widget happens to be a vbox, which will reposition its children after being realigned. So it was just a coincidence that it worked before that commit.

I've "fixed" it by only realigning necessary (immediate) boxes in AutoSizedWidget::notifySizeChange. The real solution would be to redesign the levelup dialog to fully make use of boxes, which will need to be done sooner or later, if we want the UI to adapt to different fonts/localizations. However, I see two problems with that:
* Boxes need to react to attachToWidget and detachFromWidget (not sure if this is doable).
* I think something like GridBox (akin to Qt's QGridLayout) would be necessary for the coin/multiplier/attribute/value part.

The other change fixes a possible memory leak with detached widgets.