VariableDefs read correctly from json; "lang" variable for game i18n

- VarDef types are restricted to string, float, integer and boolean
- Added I18N initialization in GameController using a LANGUAGE_VAR ("lang") so that games can specify their preferred language.
- Added additional sanity checks to pseudo-properties parsing in i18n