Support dynamic menu extensions

Change-Id: I5c65fd9a259d57890fd031800cc4e83b8c58eaee
diff --git a/dev/js/src/menu.js b/dev/js/src/menu.js
index e26d19b..6aff7fa 100644
--- a/dev/js/src/menu.js
+++ b/dev/js/src/menu.js
@@ -177,6 +177,21 @@
       t.offset = 0;
       t.position = 0;
     },
+
+    // Append item to list
+    append : function (item) {
+      const t = this;
+      // This is cyclic!
+      item["_menu"] = t;
+      t._list = undefined;
+      t.removeItems();
+      t._items.push(item);
+      t._lengthField.add([item.content().data]);
+      t._slider.length(t.liveLength()).reInit();
+      t._firstActive = false;
+      t.offset = 0;
+      t.position = 0;
+    },
     
     // Initialize the item list
     _initList : function () {