Dynamically resize skill widgets to fit their contents (Fixes #1610)

The margin may need tweaking.