[threadpool] Add heuristic to approach the optimal number of threads
[threadpool] Remove process_idle_times so monitor_thread is the only function to change the number of threads
[threadpool] Put the monitor thread to sleep if there has been no tasks for the past 5 seconds (NON_BUSY_INTERATION * SAMPLES_PERIOD)

This should improve a lot power consumption, because this avoir having a thread waking up every 500ms keeping the CPU awake.