Add library font preference.

* Add font selector to the preferences.
* Move row height preference from Interface to Library.
* Add controls for changing the font size:
  - [Library],font_size_increment
  - [Library],font_size_decrement
  - [Library],font_size_knob

If the row height is smaller than the font-size the larger of the two is
used.
One of the benefits of signals/slots is that it lets you decouple components -- I agree it does make sense to explicitly couple them in some places (e.g. Library::bindWidget, Library::bindSidebar). Making a setupConnections method explicitly couples the two -- perhaps unrelated -- objects.

Think of public slots as the public interface to the class (same as the public methods of a class). You have to look for call-sites to the public methods of a class to fully understand how it's used -- the same goes for signals/slots. I try not to connect to private slots from outside a class even though Qt will allow you too.