A text progress bar is typically used to display the progress of a long running
operation, providing a visual cue that processing is underway.

The ProgressBar class manages the current progress, and the format of the line
is given by a number of widgets. A widget is an object that may display
differently depending on the state of the progress bar. There are many types of
widgets:

        AbsoluteETA
        AdaptiveETA
        AdaptiveTransferSpeed
        AnimatedMarker
        Bar
        BouncingBar
        Counter
        CurrentTime
        DataSize
        DynamicMessage ETA
        FileTransferSpeed
        FormatCustomText
        FormatLabel
        Percentage
        ReverseBar
        RotatingMarker
        SimpleProgress
        Timer

The progressbar module is very easy to use, yet very powerful. It will also
automatically enable features like auto-resizing when the system supports it.
