shell: Implement tools menu, and dynamically add tools to it

These tools are listed in the manifest.json files. Make the terminal
such a tool.