Fix unit test failures in ListBoxLayoutTest

* ListBox: Bit of clean up the visual presentation of the text
within the widget by adding some padding (see ::size_hint, ::update).

* ListBox: Re-implement ::minimum_size; returns the same value as
::size_hint.

* ListBox: Set the size policy to Minimum / Fixed when using non-NULL
size dimensions, and Preferred / Preferred otherwise. This allows us to
render a listbox widget with explicit dimensions even when used in a
layout.

* UIBoxLayout: Fix bug in frame boundary calculations that affected the
last widget item in both the button & listbox layouts.

* ListBoxLayoutTest: Reduce redundancy by moving common code to helper
methods (alike ButtonLayoutTest).

* ButtonLayoutTest: Add a decorator for button3 (visual aid for seeing
widget bounds).