Prevent the progress bar from exceeding the TTY width

Hi @hallas,

Here's a fix for #60 (and, consequently, #64). I've changed it so that the "available space" for the actual progress bar is computed - which is determined by populating percentages, timestamps, etc. into the template - and calculates what room is left for the "complete" and "incomplete" portions. After which it sets the widths of these portions appropriately.

This change will not affect existing bars, only ones which specify too large of a width.

I've included an example as well, using a width of 1024.