Allow dashboard widgets to have a dynamic height

At the moment, we require the height of each widget to be given explicitly. This doesn't work too well, since in many cases, a widget doesn't have a fixed height.
If my other comment is correct, we'll still need the height checks here, right?