Avoid showing the progress bar when done() is called without prior start()

In my application I use a timeout to avoid showing the progress bar immediately when a potentially lengthy operation is started (up to 500ms can be considered as "immediate" after clicking a button).

At the end of these operations, calling done() if the timeout did not start() the progress bar caused the bar to be shown, which causes user confusion.

This pull request fixes this by first checking in done() if the progress has effectively been started. I also added a get() method to get the current status of the progress bar.

Thanks for this useful little module!