Bugfix: Do not disregard Ref::gen when using Ref as a cache key
According to Leonard Rosenthol's book, the 'gen' field of a reference is almost always zero. However, this doesn't mean that it can be ignored when comparing two Refs.
Incidentally, this patch also makes use of the recently introduced Ref::operator<, which allows to replace the small custom class ArthurFontID by a std::pair.