refactor out progress bar 

I made a horizontal progress bar, which will fit with normal layouts better,
and also added rate limiting
(requests are cached for 20 seconds, to keep under blockchain.info limit)