Code cleanup, language auto-detection (for text) and additional comments.

Language auto-detection implemented. Changed constructor default to "auto" and allowed language to be set to "null" for continuity between the synthesiser and recognizer classes.