Improve statusbar font size selection logic

This fixes various minor issues I have noticed with the status bar text sizing:
- it was much too small on OS X
- it was a bit big on Linux (Mint)
- it did not respect the user set size - it used the user size as a weighting for its calculated size, rather than just constraining the size to the calculated bounds.

This fixes all those issues, and also makes the algorithm simpler and more robust which should help to avoid other edge cases.

I have tested this extensively on OS X Yosemite, Windows 7, and Linux Mint 17.