Improve statusbar font size selection logic

This is largely to solve the problem of the text being tiny on OS X, but it also makes the algorithm simpler and more robust, removes some
strange edge cases, and uses the user's chosen size if it's within the acceptable range rather than needlessly modifying it.