Simplify the interface of ProgressBar to avoid race condition.
Block multiple executions of (*progressBar).Add to avoid race condition.
Use cap() to get the max number of workers.
Merge branch 'feature/multi-thread'