Faster and better parser
Use external functional parser instead of keeping a local copy of it. That parser had several performance optimisations and several tests.
This version also fixes problems such as allowing empty L10n values (pending from translators) and failing if the whole file can't be parsed (that means, after parsing the file, there's a rest). This avoids silent failures such as deleting strings from the final file.