It's a common gut reaction to jump to a "rewrite from scratch!" because it's more fun to start something new, but often times a serious refactoring is the more sane alternative.
Libschrift is about 1000 lines of code. Freetype is about 200,000. I'm pretty sure these projects have different aims. It is possible that refactoring Freetype to make it meet the aims of Libschrift would be harder than starting again.
Yes, but note that at some point Freetype was only 1000 lines of code, too.
Yes, and the reality often have a way of getting back at you sooner or later. Recreate bugs that were solved years ago in the original code and suddenly you end up with something that looks just as complicated as the original.
The problem with “a serious refactoring” in open source is that it’s extremely unlikely the maintainer will accept the fact that you rewrote his baby.
That's why you shouldn't just rewrite it on your own devices. The better way is to get in touch with the maintainer and become part of the project. Maybe there are good reasons why refactoring some portion of the code in certain ways is perhaps not the best idea?
If you absolutely want to fix their codebase, you can do that I suppose. But trying to make friends with a stranger just to get your PR eventually accepted is not nearly as interesting as just saving yourself all that trouble by just implementing the thing from scratch.