Use webpack

This change adds webpack as the main tool used while developing the
extension. The extension has been minimally refactored so it works with
webpack, with the intention of refactoring it even further in follow-up
CLs in order to improve the file/folder structure of the project and its
readibility.

Bug: translateselectedtext:5
Change-Id: I89d7422e38fdaf46661c96527c51aa4436ad8056
diff --git a/src/common/consts.js b/src/common/consts.js
new file mode 100644
index 0000000..7b1ef78
--- /dev/null
+++ b/src/common/consts.js
@@ -0,0 +1,142 @@
+export const isoLangs = {
+  'af': {'name': 'Afrikaans', 'nativeName': 'Afrikaans'},
+  'ak': {'name': 'Twi', 'nativeName': 'Akan'},
+  'am': {'name': 'Amharic', 'nativeName': 'አማርኛ'},
+  'ar': {'name': 'Arabic', 'nativeName': 'العربية'},
+  'as': {'name': 'Assamese', 'nativeName': 'অসমীয়া'},
+  'ay': {'name': 'Aymara', 'nativeName': 'aymar aru'},
+  'az': {'name': 'Azerbaijani', 'nativeName': 'azərbaycan dili'},
+  'be': {'name': 'Belarusian', 'nativeName': 'Беларуская'},
+  'bg': {'name': 'Bulgarian', 'nativeName': 'български език'},
+  'bho': {'name': 'Bhojpuri', 'nativeName': 'भोजपुरी'},
+  'bm': {'name': 'Bambara', 'nativeName': 'bamanankan'},
+  'bn': {'name': 'Bengali', 'nativeName': 'বাংলা'},
+  'bs': {'name': 'Bosnian', 'nativeName': 'bosanski jezik'},
+  'ca': {'name': 'Catalan', 'nativeName': 'Català'},
+  'ceb': {'name': 'Cebuano', 'nativeName': 'Binisaya'},
+  'ckb': {'name': 'Kurdish (Sorani)', 'nativeName': 'کوردیی ناوەندی'},
+  'co': {'name': 'Corsican', 'nativeName': 'corsu'},
+  'cs': {'name': 'Czech', 'nativeName': 'česky'},
+  'cy': {'name': 'Welsh', 'nativeName': 'Cymraeg'},
+  'da': {'name': 'Danish', 'nativeName': 'dansk'},
+  'de': {'name': 'German', 'nativeName': 'Deutsch'},
+  'doi': {'name': 'Dogri', 'nativeName': '𑠖𑠵𑠌𑠤𑠮'},
+  'dv': {'name': 'Dhivehi', 'nativeName': 'ދިވެހި'},
+  'ee': {'name': 'Ewe', 'nativeName': 'Eʋegbe'},
+  'el': {'name': 'Greek', 'nativeName': 'Ελληνικά'},
+  'en': {'name': 'English', 'nativeName': 'English'},
+  'eo': {'name': 'Esperanto', 'nativeName': 'Esperanto'},
+  'es': {'name': 'Spanish', 'nativeName': 'español'},
+  'et': {'name': 'Estonian', 'nativeName': 'eesti'},
+  'eu': {'name': 'Basque', 'nativeName': 'euskara'},
+  'fa': {'name': 'Persian', 'nativeName': 'فارسی'},
+  'fi': {'name': 'Finnish', 'nativeName': 'suomi'},
+  'fr': {'name': 'French', 'nativeName': 'français'},
+  'fy': {'name': 'Frisian', 'nativeName': 'Frysk'},
+  'ga': {'name': 'Irish', 'nativeName': 'Gaeilge'},
+  'gd': {'name': 'Scots Gaelic', 'nativeName': 'Gàidhlig'},
+  'gl': {'name': 'Galician', 'nativeName': 'Galego'},
+  'gn': {'name': 'Guarani', 'nativeName': 'Avañeẽ'},
+  'gom': {'name': 'Konkani', 'nativeName': 'कोंकणी'},
+  'gu': {'name': 'Gujarati', 'nativeName': 'ગુજરાતી'},
+  'ha': {'name': 'Hausa', 'nativeName': 'Hausa'},
+  'haw': {'name': 'Hawaiian', 'nativeName': 'ʻŌlelo Hawaiʻi'},
+  'hi': {'name': 'Hindi', 'nativeName': 'हिन्दी'},
+  'hmn': {'name': 'Hmong', 'nativeName': 'Hmoob'},
+  'hr': {'name': 'Croatian', 'nativeName': 'hrvatski'},
+  'ht': {'name': 'Haitian Creole', 'nativeName': 'Kreyòl ayisyen'},
+  'hu': {'name': 'Hungarian', 'nativeName': 'Magyar'},
+  'hy': {'name': 'Armenian', 'nativeName': 'Հայերեն'},
+  'id': {'name': 'Indonesian', 'nativeName': 'Bahasa Indonesia'},
+  'ig': {'name': 'Igbo', 'nativeName': 'Asụsụ Igbo'},
+  'ilo': {'name': 'Ilocano', 'nativeName': 'Ilokano'},
+  'is': {'name': 'Icelandic', 'nativeName': 'Íslenska'},
+  'it': {'name': 'Italian', 'nativeName': 'Italiano'},
+  'iw': {'name': 'Hebrew', 'nativeName': 'עברית'},
+  'ja': {'name': 'Japanese', 'nativeName': '日本語 (にほんご/にっぽんご)'},
+  'jw': {'name': 'Javanese', 'nativeName': 'basa Jawa'},
+  'ka': {'name': 'Georgian', 'nativeName': 'ქართული'},
+  'kk': {'name': 'Kazakh', 'nativeName': 'Қазақ тілі'},
+  'km': {'name': 'Khmer', 'nativeName': 'ភាសាខ្មែរ'},
+  'kn': {'name': 'Kannada', 'nativeName': 'ಕನ್ನಡ'},
+  'ko': {'name': 'Korean', 'nativeName': '한국어 (韓國語)'},
+  'kri': {'name': 'Krio', 'nativeName': 'Krio'},
+  'ku': {'name': 'Kurdish (Kurmanji)', 'nativeName': 'Kurdî'},
+  'ky': {'name': 'Kyrgyz', 'nativeName': 'кыргыз тили'},
+  'la': {'name': 'Latin', 'nativeName': 'latine'},
+  'lb': {'name': 'Luxembourgish', 'nativeName': 'Lëtzebuergesch'},
+  'lg': {'name': 'Luganda', 'nativeName': 'Luganda'},
+  'ln': {'name': 'Lingala', 'nativeName': 'Lingála'},
+  'lo': {'name': 'Lao', 'nativeName': 'ພາສາລາວ'},
+  'lt': {'name': 'Lithuanian', 'nativeName': 'lietuvių kalba'},
+  'lus': {'name': 'Mizo', 'nativeName': 'Mizo ṭawng'},
+  'lv': {'name': 'Latvian', 'nativeName': 'latviešu valoda'},
+  'mai': {'name': 'Maithili', 'nativeName': 'मैथिली'},
+  'mg': {'name': 'Malagasy', 'nativeName': 'Malagasy fiteny'},
+  'mi': {'name': 'Maori', 'nativeName': 'te reo Māori'},
+  'mk': {'name': 'Macedonian', 'nativeName': 'македонски јазик'},
+  'ml': {'name': 'Malayalam', 'nativeName': 'മലയാളം'},
+  'mn': {'name': 'Mongolian', 'nativeName': 'монгол'},
+  'mni-Mtei': {'name': 'Meiteilon (Manipuri)', 'nativeName': 'ꯃꯤꯇꯩꯂꯣꯟ'},
+  'mr': {'name': 'Marathi', 'nativeName': 'मराठी'},
+  'ms': {'name': 'Malay', 'nativeName': 'bahasa Melayu'},
+  'mt': {'name': 'Maltese', 'nativeName': 'Malti'},
+  'my': {'name': 'Myanmar (Burmese)', 'nativeName': 'ဗမာစာ'},
+  'ne': {'name': 'Nepali', 'nativeName': 'नेपाली'},
+  'nl': {'name': 'Dutch', 'nativeName': 'Nederlands'},
+  'no': {'name': 'Norwegian', 'nativeName': 'Norsk'},
+  'nso': {'name': 'Sepedi', 'nativeName': 'Pedi'},
+  'ny': {'name': 'Chichewa', 'nativeName': 'chiCheŵa'},
+  'om': {'name': 'Oromo', 'nativeName': 'Afaan Oromoo'},
+  'or': {'name': 'Odia (Oriya)', 'nativeName': 'ଓଡ଼ିଆ'},
+  'pa': {'name': 'Punjabi', 'nativeName': 'ਪੰਜਾਬੀ'},
+  'pl': {'name': 'Polish', 'nativeName': 'polski'},
+  'ps': {'name': 'Pashto', 'nativeName': 'پښتو'},
+  'pt': {'name': 'Portuguese', 'nativeName': 'Português'},
+  'qu': {'name': 'Quechua', 'nativeName': 'Runa Simi'},
+  'ro': {'name': 'Romanian', 'nativeName': 'română'},
+  'ru': {'name': 'Russian', 'nativeName': 'русский язык'},
+  'rw': {'name': 'Kinyarwanda', 'nativeName': 'Ikinyarwanda'},
+  'sa': {'name': 'Sanskrit', 'nativeName': 'संस्कृतम्'},
+  'sd': {'name': 'Sindhi', 'nativeName': 'सिन्धी'},
+  'si': {'name': 'Sinhala', 'nativeName': 'සිංහල'},
+  'sk': {'name': 'Slovak', 'nativeName': 'slovenčina'},
+  'sl': {'name': 'Slovenian', 'nativeName': 'slovenščina'},
+  'sm': {'name': 'Samoan', 'nativeName': 'gagana faa Samoa'},
+  'sn': {'name': 'Shona', 'nativeName': 'chiShona'},
+  'so': {'name': 'Somali', 'nativeName': 'Soomaaliga'},
+  'sq': {'name': 'Albanian', 'nativeName': 'Shqip'},
+  'sr': {'name': 'Serbian', 'nativeName': 'српски језик'},
+  'st': {'name': 'Sesotho', 'nativeName': 'Sesotho'},
+  'su': {'name': 'Sundanese', 'nativeName': 'Basa Sunda'},
+  'sv': {'name': 'Swedish', 'nativeName': 'svenska'},
+  'sw': {'name': 'Swahili', 'nativeName': 'Kiswahili'},
+  'ta': {'name': 'Tamil', 'nativeName': 'தமிழ்'},
+  'te': {'name': 'Telugu', 'nativeName': 'తెలుగు'},
+  'tg': {'name': 'Tajik', 'nativeName': 'тоҷикӣ'},
+  'th': {'name': 'Thai', 'nativeName': 'ไทย'},
+  'ti': {'name': 'Tigrinya', 'nativeName': 'ትግርኛ'},
+  'tk': {'name': 'Turkmen', 'nativeName': 'Türkmen'},
+  'tl': {'name': 'Filipino', 'nativeName': 'Wikang Tagalog'},
+  'tr': {'name': 'Turkish', 'nativeName': 'Türkçe'},
+  'ts': {'name': 'Tsonga', 'nativeName': 'Xitsonga'},
+  'tt': {'name': 'Tatar', 'nativeName': 'татарча'},
+  'ug': {'name': 'Uyghur', 'nativeName': 'Uyƣurqə'},
+  'uk': {'name': 'Ukrainian', 'nativeName': 'українська'},
+  'ur': {'name': 'Urdu', 'nativeName': 'اردو'},
+  'uz': {'name': 'Uzbek', 'nativeName': 'zbek'},
+  'vi': {'name': 'Vietnamese', 'nativeName': 'Tiếng Việt'},
+  'xh': {'name': 'Xhosa', 'nativeName': 'isiXhosa'},
+  'yi': {'name': 'Yiddish', 'nativeName': 'ייִדיש'},
+  'yo': {'name': 'Yoruba', 'nativeName': 'Yorùbá'},
+  'zh-CN': {'name': 'Chinese (Simplified)', 'nativeName': '汉语'},
+  'zh-TW': {'name': 'Chinese (Traditional)', 'nativeName': '漢語'},
+  'zu': {'name': 'Zulu', 'nativeName': 'isiZulu'},
+};
+
+// Some languages were incorrectly set. This map serves as a conversion between
+// the previous wrong languages and the correct code.
+export const convertLanguages = {
+  'jv': 'jw',
+  'zh': 'zh-CN',
+};