Added non-tty support to ProgressBar

Hey Paul, 

thanks for ProgressBar. I'm finding this gem very useful!

I've added support for non-tty output. You may or may not like the way I've implemented some of this. I'm open to feedback or requests to modify my implementation.

A bit of background: I've been using this fork for on Heroku (bamboo stack) for a while. Today I started moving my stuff to Heroku cedar and had to add a way to override the detection of tty / non-tty output. I had to do that because `heroku run` correctly reports a tty console, but Highline can't get the terminal width across the SSH tunnel.

Let me know what you think.