Declarative way to define build dependencies

- .depends/bin/ on PATH while running builds
- .depends/*.commands to specify the prerequisite commands
- .depends/*.sh to prepare those commands (in .depends/bin/) when missing
- .depends/*.txt for instructions
- make depends