Revamp capture process so workers are not bound to proxies.

Instead, the dispatcher load-balances workers across all available
proxies on a per-batch basis.  This should allow for more consistent use
of CPU resources -- as faster proxies complete their work, workers will
be reassigned to slower proxies.  There's an upper limit on the number
of workers for any given proxy, to avoid congestion.

This also simplifies the logic for tracking which proxies are currently
online considerably.