Add skeleton for UI (Node + TypeScript + WASM  + build integration)

This CL checks in a basic skeleton to develop the UI, introducing
- NodeJS binary, pulled in via tools/install-build-deps --ui
- WASM toolchain
- TypeScript compiler
- Protobuf.js library dependency
- Basic build file plumbing
- ui/run-dev-server

For the moment, it just introduced a hello world TypeScript file
that loads a hello world WASM library.
All it takes to build and bundle everything is:
$ ninja -C out/xxx ui
$ ui/run-dev-server

Bug: 73626618
Change-Id: I44a628c3dc8b36d1e9267f43f25f256761c7e90f
diff --git a/ui/run-dev-server b/ui/run-dev-server
new file mode 100755
index 0000000..bc081e7
--- /dev/null
+++ b/ui/run-dev-server
@@ -0,0 +1,31 @@
+#!/bin/bash
+# Copyright (C) 2018 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+CUR_DIR="$(cd -P ${BASH_SOURCE[0]%/*}; pwd)"
+LITE_SERVER="$CUR_DIR/node_modules/.bin/lite-server"
+if [ ! -f "$LITE_SERVER" ]; then
+  echo "ERROR: cannot find lite-server. You need to run:"
+  echo "  tools/install-build-deps --ui"
+  echo "  ninja -C out/xxx ui"
+  exit 127
+fi
+if [ ! -L "$CUR_DIR/dist" ]; then
+  echo "ERROR: cannot find the 'dist' symlink. Did you run ninja?"
+  exit 127
+fi
+
+export PATH="$CUR_DIR/../buildtools/nodejs/bin/:$PATH"
+cd "$CUR_DIR/dist"
+exec node node_modules/.bin/lite-server