add 3 level deep embeddable menu functionality

@TODO
a limitation exists here. You can't embed arbitrarily nested
menus. need to sort this out in a later version