Minor changes and cleanup

I changed the Font class's constructor to not be dependent on arbitrary
property names. It's also mutable now: you can change font.name and
font.toString() will reflect the change.