GUI -- Reworked sprite definition loading via websocket events.
- includes option to specify sprite definition id: #/topo?sprites=defn_name.

Change-Id: If2ce59384e01bb5f35827a503748e21ab4fb1b31
diff --git a/web/gui/src/main/webapp/data/sprites/sprites.json b/web/gui/src/main/webapp/data/sprites/sprites.json
new file mode 100644
index 0000000..f92e705
--- /dev/null
+++ b/web/gui/src/main/webapp/data/sprites/sprites.json
@@ -0,0 +1,45 @@
+{
+  "defn_name": "sample",
+  "defn_desc": "Sample Cloud Sprite Data",
+
+  "_comment": [
+    "configuration file for loading canned and/or custom sprites (and labels)",
+    "into the topology view. These appear above the map layer, but below",
+    "the nodes/links layer."
+  ],
+
+  "_comment_custom": "'custom' contains custom path data",
+  "custom": [
+
+  ],
+
+  "_comment_defn": "'defn' array contains sprite definitions",
+  "defn": [
+    {
+      "id": "subnet",
+      "class": "sprite1",
+      "use": "cloud",
+      "width": 120,
+      "height": 120,
+      "scale": 3.0,
+      "textyoff": 0.4
+    },
+    {
+      "id": "subnet2",
+      "class": "sprite2",
+      "use": "cloud",
+      "width": 200,
+      "height": 200,
+      "scale": 3.0,
+      "textyoff": 0.4
+    }
+  ],
+
+  "_comment_load": "'load' array contains list of sprites to load",
+  "load": [
+    { "id": "subnet", "x": -40, "y":20, "label":"apples" },
+    { "id": "subnet", "x":400, "y":40, "label":"bananas" },
+    { "id": "subnet", "x":840, "y":60, "label":"cherries" },
+    { "id": "subnet2", "x":300, "y":400 }
+  ]
+}