spawn threads on demand

TODO: timeout is not handled properly...
that's only for debugging
fix deleting the thread
fix log wording
we don't really need that number
try to drain the queue and block on shutting down

should never really add another job while shutting down though!