[WIP] Consumer and producer pools

So now we have two 'main' threads: producer and consumer. In order to pass the `filenames` array we have to pass it as a `void*` buffer then cast it back to the right type.