Give Buttons semantic behavior

We introduce a StyledButton component that has a "primary" flag.  It
will set its color based on whether or not it is a primary button in a
dialog.  Right now, we use the old orange for primary, grey for
secondary scheme, but now that can be easily changed.
Fix formatting of font scaling bubble

The new emulator shows a strange floating-point rounding issue.  So we
make the values into strings with the format we want.  They get coerced
to floats when we use them as numbers.