Fix RT-1206: Detect browser language preferences.

1. Detect user's browser language settings, and if we have a translation available in that language, display client in that language
2. If we don't have a translation available, display client in English
3. If a invalid language was selected (such as navigate to `#/lang/abcdefg`), display client in default language ( as 1 & 2).

* For languages with variants such as `zh-CN` and `en-US`, we will treat thoses as `zh` and `en`.
* A language alias map is introduced as the browser uses `zh` for Chinese but we use `cn` for Chinese.

Remember to add language names here if we add more languages in the future.