GetSrcLang, GetDstLang, SetSrcLang, SetDstLang, SwapLang are reusable
functions from translator to translator. So make Language struct.
GetEngineName is also a reusable function. So make EngineName struct.
Finally, let Translator to inherit those functions in these three
(Language, TTSLock, EngineName) structs. No need to write the duplicated
functions for each Translator.
data in Translate function of ApertiumTranslate and ArgosTranslate is a
map[string]interface, so no need to declare it as interface then convert
it to map[string]interface