Add utility for calculating box properties

We are doing inner width and height calculations all over, a utility will clean things up a bit.
``widget.width()`` could call ``widget.dims().width()`` so that both worked? Happy to leave this for now though.