Store created fonts in fontdescriptor

This should fix #4339. We attached an explanation of the idea at the issue.

This patch is based on @brendandahl CMap changes and our refactoring of the PartialEvaluator