[IO] Implement configurable "simple architecture"
Introduce a new meson option io_single_uring which causes EMPER to only use the GlobalIoContexts for all IO.
To submit SQEs to the io_uring SQ SubmitActor is used.
Futures can be in a new state where they are submitted to the SubmitActor but not to the io_uring yet. In this state isSubmitted && !isPrepared th Future must not be destroyed to ensure this we yield when forgetting a Future until it is prepared and thus it is safe to destroy it.
This commit contains no optimizations (no batching, no try non blocking syscall first, ...)