implemented widget/:id/live routes

There's also a little collateral damage  but :+1: 

```
diff --git a/modules/widget/schema.js b/modules/widget/schema.js
index 03764fd..28c3041 100644
--- a/modules/widget/schema.js
+++ b/modules/widget/schema.js
@@ -12,7 +12,7 @@ module.exports = new Schema({
     'type': String,
     'required': true,
     'trim': true,
-    'match': /.{,100}/
+    'match': /.{0,100}/
   },
```