* Added `BoxSize()` to Widget that reports the full box size including
borders and margin.
* The Frame uses the `BoxSize()` of widgets to position them.
Reintroduces some padding issues (boxes on the GUI Test stick out of
bounds a bit) but is on the right track.
* Renamed `Padding` to `Margin` on the Widget object, since the Margin
is taken into consideration along with Outline and Border in computing
the widget's BoxSize.
* Restructured the Label widget to take a Text or TextVariable property
and the font settings (render.Text) are in a new `Font` property.
* Frame.Pack() now supports Fill and Expand and works like Tk.
* The GUITest Scene now draws a large window with two fixed side panels,
an expanding body panel, and a fixed footer with buttons. The panels
are filled with other buttons and widgets showing off the Frame
packing.
With Labels and Buttons so far.
* Labels are pretty much complete, they wrap a render.Text and have a
Compute() method that returns their Width and Height when rendered
onto an SDL Surface.
* Buttons wrap a Label widget and Compute() its size and takes that into
consideration when rendering itself. Buttons render themselves from
scratch in a "Windows 95" themed way, with configurable colors, border
widths and outline.