Do progress bar update in an AsyncTask

Part of FB 132314: Allow disable of progress bar.

No changes to the calculation, just moving it into a task.
As an implementation note: Defining a task as a private inner class of a class means that as long as this task is live, the Activity is basically leaked (since its instance can't be GC'd until the task is gone).

In this case it looks like this task's lifecycle matches the activity itself, but something to be cautious of in general when creating/using memory in an inner-class declaration (especially when it has its own thread/lifecycle).