Shell: 'fish' port

Remaining issues:
- mute/off/unmute/on not yet implemented;
- TermTitle seems to be incompatible as fish has trouble computing the
  cursor position;
- exit status of 'angel toto' is 129 instead of 1;
- only tested with 1.23.1 so far (which is not the latest).