Add progress bar

This is the new progress bar code. I'm not entirely happy with how it integrates (see comments on the commits)  but I'm also don't feel that getting it perfect is necessary right now.
spaces on either side of `===` :D