Add Painter.DesiredMinSize()

The function DesiredMinSize on interface Painter can be used by the
parent to allocate an appropriate size to the child. It is merely a
recommendation and can be ignored at the parent's discretion. The child
should paint something meaningful for any size. BaseView returns a
default of {1x1} for DesiredMinSize.

Example: a linear layout view, which stacks children either vertically
or horizontally, can use Painter.DesiredMinSize to allocate the size for
each child.