Added native Bazel build to GUI2. Reduced a lot of the unused Angular CLI structures

Reviewers should look at the changes in WORKSPACE, BUILD, BUILD.bazel, README.md files
This is only possible now as rules_nodejs went to 1.0.0 on December 20
gui2 has now been made the entry point (rather than gui2-fw-lib)
No tests or linting are functional yet for Typescript
Each NgModule now has its own BUILD.bazel file with ng_module
gui2-fw-lib is all one module and has been refactored to simplify the directory structure
gui2-topo-lib is also all one module - its directory structure has had 3 layers removed
The big bash script in web/gui2/BUILD has been removed - all is done through ng_module rules
in web/gui2/src/main/webapp/BUILD.bazel and web/gui2/src/main/webapp/app/BUILD.bazel

Change-Id: Ifcfcc23a87be39fe6d6c8324046cc8ebadb90551
diff --git a/tsconfig.json b/tsconfig.json
index a1a4239..e9341ca 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,28 +1,22 @@
-// TODO Move this out of the root directory if possible -
 {
-
-  "compileOnSave": false,
   "compilerOptions": {
-    "baseUrl": "./web/gui2-fw-lib/",
-    "outDir": "./web/gui2-fw-lib/dist/out-tsc",
-    "sourceMap": true,
-    "declaration": false,
-    "downlevelIteration": true,
-    "experimentalDecorators": true,
-    "module": "esnext",
-    "moduleResolution": "node",
-    "importHelpers": true,
-    "target": "es2015",
-    "typeRoots": [
-      "node_modules/@types"
-    ],
+    // Allow uses of these JS APIs
     "lib": [
-      "es2018",
-      "dom"
-    ]
-  },
-  "angularCompilerOptions": {
-    "fullTemplateTypeCheck": true,
-    "strictInjectionParameters": true
+      "dom",
+      "es5",
+      "es2015.collection",
+      "es2015.iterable",
+      "es2015.promise",
+      "es2017",
+      "es2017.object"
+    ],
+    // Permit decorator syntax
+    "experimentalDecorators": true,
+    // Don't scan the node_modules/@types folder for ambient types.
+    // This would force us to have all the types in the dependencies of
+    // each library.
+    // Instead we'll be explicit about declaring ambient type dependencies
+    // using the ///<reference types=""/> syntax.
+    "types": []
   }
 }