Modify font_loader to make styles information available

Move FontInfo to a separate module.
TTFFont now returns a FontInfo instance instead of a names list.
Move FontStyle out of FontInfo and make it a flag enum
Small updates and fixes

Fix a small bug in the previous commit.
Get system fonts information directly instead of parsing the registry.
Switch to full font name matching.
Implemented system fonts caching