Use a more advanced menu that ressembles the device hierarchy

In future versions the tray.create_menu() function could be used to
generate arbitrary menu topologies by injecting the desired device_tree
function.