POC: Use Asyncio instead of Threads
Refactor Engine to use asyncio instead of Threads. This is considered primarily an nice to have enhancement. The aim is to provide a more elegant, robust and readable implementation. Existing functionality should not change.
Ensure all of these do work the same way as currently with using Threads:
- Timed execution of engine control threads
- API fetch threads and programm update cycles
- Liquidsoap client threads