GUI -- Resize and table directives clean up. Veil service given init function and unit tests.

Change-Id: I7c29db8f2c79e83e880c96854297c4a432e12d48
diff --git a/web/gui/src/main/webapp/app/fw/layer/veil.js b/web/gui/src/main/webapp/app/fw/layer/veil.js
index 91de19e..309b9f0 100644
--- a/web/gui/src/main/webapp/app/fw/layer/veil.js
+++ b/web/gui/src/main/webapp/app/fw/layer/veil.js
@@ -24,13 +24,33 @@
     'use strict';
 
     // injected references
-    var $log, $route, fs, ks;
+    var $log, $route, fs, ks, gs;
 
-    var veil, pdiv, svg;
+    var veil;
+
+    function init() {
+        var wSize = fs.windowSize(),
+            ww = wSize.width,
+            wh = wSize.height,
+            shrink = wh * 0.3,
+            birdDim = wh - shrink,
+            birdCenter = (ww - birdDim) / 2,
+            svg;
+
+        veil = d3.select('#veil');
+
+        svg = veil.select('svg').attr({
+            width: ww,
+            height: wh
+        }).style('opacity', 0.2);
+
+        gs.addGlyph(svg, 'bird', birdDim, false, [birdCenter, shrink/2]);
+    }
 
     // msg should be an array of strings
     function show(msg) {
-        var msgs = fs.isA(msg) || [msg];
+        var msgs = fs.isA(msg) || [msg],
+            pdiv = veil.select('.msg');
         pdiv.selectAll('p').remove();
 
         msgs.forEach(function (line) {
@@ -60,32 +80,15 @@
     .factory('VeilService',
         ['$log', '$route', 'FnService', 'KeyService', 'GlyphService',
 
-        function (_$log_, _$route_, _fs_, _ks_, gs) {
+        function (_$log_, _$route_, _fs_, _ks_, _gs_) {
             $log = _$log_;
             $route = _$route_;
             fs = _fs_;
             ks = _ks_;
-
-            var wSize = fs.windowSize(),
-                ww = wSize.width,
-                wh = wSize.height,
-                vbox = '0 0 ' + ww + ' ' +  wh,
-                shrink = wh * 0.3,
-                birdDim = wh - shrink,
-                birdCenter = (ww - birdDim) / 2;
-
-            veil = d3.select('#veil');
-            pdiv = veil.append('div').classed('msg', true);
-
-            svg = veil.append('svg').attr({
-                width: ww,
-                height: wh,
-                viewBox: vbox
-            }).style('opacity', 0.2);
-
-            gs.addGlyph(svg, 'bird', birdDim, false, [birdCenter, shrink/2]);
+            gs = _gs_;
 
             return {
+                init: init,
                 show: show,
                 hide: hide,
                 lostServer: lostServer