Implement a scanner on C-side (LibCMP doesn't provide it).
Fix C code, it compiles now!
Encode & decode FontConfig data on C side.
Encode & decode charsets on C side (fix Haskell side)
Initialize C components, including vendored CMP
Datamodel FontConfig in Haskell.
Start rewrite from scratch.