Use tcmalloc by default; fallback to jemalloc, then libc
Raise coroutine stack size to 1.5 * PTHREAD_STACK_MIN

Doing that will let us reduce one malloc/free pair per connection.
Do not use coro_malloc() inside the request processor hot path
No need to restore switcher->caller if coroutine ended