Store created fonts in fontdescriptor

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