Added mechanism to dynamically construct menu

The menu is now read from menus.json, and is shown as a a series of
bootstrap dropdowns!