def initialize(total, options = {})
        @total_steps, @step, @start_time = total, 0, Time.now
        @title = options.fetch :title, 'Progress'
        @width = options.fetch :width, 25
        @progress_str = options.fetch :progress_str, '='
        @incomplete_str = options.fetch :incomplete_str, '.'
        @complete_message = options.fetch :complete_message, 'Process complete'
        @format = options.fetch :format, ':title |:progress_bar| :percent_complete% complete '
        @tokens = options.fetch :tokens, {}
      end
#
Creates a new progress bar.

=== Options

:title              Title, defaults to "Progress"
:width              Width of :progress_bar
:progress_str       Progress string, defaults to "="
:incomplete_str     Incomplete bar string, defaults to '.'
:format             Defaults to ":title |:progress_bar| :percent_complete% complete "
:tokens             Additional tokens replaced within the format string
:complete_message   Defaults to "Process complete"

=== Tokens

:title
:percent_complete
:progress_bar
:step
:steps_remaining
:total_steps
:time_elapsed
:time_remaining