When the max_progress value is >1.67772e+07, the progress_ which is
float, is not chanegd when tick() is called as +1 is outside of the
precission for a float value. The bar stays at value of 1.67772e+07
and 67%.
In this fix I introduced tics_ varialbe of size_t which is increased
with every tick. And the progress_ is calcualted as a ratio of
tick_/max_progress.
The breaking and required change is the change of set_progress(float)
to set_progress(size_t), so it modifies directly the tics_ value.