New FontManager

-FontManager now uses FontId struct, instead of by string.
-This guarantees no collisions of Font names, and makes maintainance
easier.