add unsafe fallback to character data lookup
add extra safeguard against moved files to cached resolver
treat *medium* as a synonym for *bold*

treating *medium* as *regular* weight leads to incorrect matches with
Garamond Premier and likely other fonts as well. apparently, this also
happened with other typographical programs, e. g.

    http://blogs.adobe.com/typblography/2008/05/indesign_font_conflicts.html

note: the matching algorithm could be rewritten so as to resolve names
in two passes:

1. collect a list of candidates. if there is a literal match, pick that one

2. test style synonyms against the candidates according to a precedence list so that “regular” always precedes “medium”

to take this thought a bit further, the synonyms could also be ordered
by weight according to some assumptions. then we could pick the closest
weight present in the database. example: suppose *regular* is assigned a
weight index of 3, *medium* gets *4* (i. e. just a tad heavier), and
*bold* 7.  then the synonym regular would be preferred for the request
*regular* if present, but medium would be chosen over bold if there is
no *regular* shape. this would probably be overkill, though.
Merge pull request #99 from phi-gamma/master

fixes