Stuff

- Add a base for outputs.
- Add a launcher that supports all outputs.
- Add a config system. This closes #1