QFontconfigDatabase weight-matching refactoring

Factor out the piece-wise linear weight matching in an attempt to make
it less error-prone to add new weights to the QFont::Weight enum.

Change-Id: I5fefdba67a60a061f8b9104393194a27bc8c6e35
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>