GUI -- augmented hash parsing to include flags (after '?'), which are passed into view callbacks as a boolean map.
 - moved event test files into sub directories
 - prepared topo2.js for scenario choice via hash context and 'local' (and 'debug') flag.
 - added 'simple' scenario: 2 switches, 1 link, and 2 hosts.
 - augmented topo event dispatch for yet-to-be-implemented event handlers.
 - implemented addHost() event handler.

Change-Id: I06b032684fd4d5f85262d13d58ad10edae23b3ed
diff --git a/web/gui/src/main/webapp/topo2.css b/web/gui/src/main/webapp/topo2.css
index c4d9a2d..2602f6f 100644
--- a/web/gui/src/main/webapp/topo2.css
+++ b/web/gui/src/main/webapp/topo2.css
@@ -20,55 +20,59 @@
  @author Simon Hunt
  */
 
-svg #topo-bg {
+#topo svg #topo-bg {
     opacity: 0.5;
 }
 
 /* NODES */
 
-svg .node.device {
+#topo svg .node.device {
     stroke: none;
     stroke-width: 1.5px;
     cursor: pointer;
 }
 
-svg .node.device rect {
+#topo svg .node.device rect {
     stroke-width: 1.5px;
 }
 
-svg .node.device.fixed rect {
+#topo svg .node.device.fixed rect {
     stroke-width: 1.5;
     stroke: #ccc;
 }
 
-svg .node.device.switch {
+#topo svg .node.device.switch {
     fill: #17f;
 }
 
-svg .node.device.roadm {
+#topo svg .node.device.roadm {
     fill: #03c;
 }
 
-svg .node text {
+#topo svg .node.host {
+    fill: #846;
+}
+
+#topo svg .node text {
     stroke: none;
     fill: white;
     font: 10pt sans-serif;
     pointer-events: none;
 }
 
-svg .node.selected rect,
-svg .node.selected circle {
+#topo svg .node.selected rect,
+#topo svg .node.selected circle {
     filter: url(#blue-glow);
 }
 
 /* LINKS */
 
-svg .link {
+#topo svg .link {
     opacity: .7;
 }
 
 /* for debugging */
-svg .node circle.debug {
+#topo svg .node circle.debug {
     fill: white;
     stroke: red;
 }