Concurrent programming in Lua with coroutines and libev