Added auto-shrink mechanism.

This causes a TextWidget to drop its font size until it fits into its allotted
horizontal space. Useful when wrapping is not an option.