First pass at dynamically sizing text.
Needs work, especially to support multiple devices.