Add lit components localization

Localization is performed via the @lit/localize package, which has been
integrated into the repo. A I18nLitElement class which extends
LitElement has been included, which automatically sets up the
localization.

This CL also introduces localization to the flattenThreads feature.

Fixed: twpowertools:157
Change-Id: If01540b9c8d70876a648aa002a1e0a5bede8f383
diff --git a/Makefile b/Makefile
index bef8a1c..7cb4294 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-.PHONY: node_deps clean_dist deps clean_deps serve_chromium serve_chromium_mv3 serve_gecko release release_chromium_stable release_chromium_beta release_chromium_canary release_gecko_stable build_test_extension clean_releases test clean trigger_nightly_build
+.PHONY: node_deps clean_dist deps clean_deps lit_localize_extract lit_localize_build lit_localize_all serve_chromium serve_chromium_mv3 serve_gecko release release_chromium_stable release_chromium_beta release_chromium_canary release_gecko_stable build_test_extension clean_releases test clean trigger_nightly_build
 
 WEBPACK := ./node_modules/webpack-cli/bin/cli.js
 JEST := node --experimental-vm-modules ./node_modules/jest/bin/jest.js
@@ -23,6 +23,14 @@
 clean_deps:
 	rm -rf node_modules
 
+lit_localize_extract:
+	npx lit-localize extract
+
+lit_localize_build:
+	npx lit-localize build
+
+lit_localize_all: lit_localize_extract lit_localize_build
+
 serve_chromium: deps
 	$(WEBPACK) --mode development --env browser_target=chromium --watch