BaseGuiController made abstract
pass FileSize not long values on update progress
refactoring: overloaded signed bytes ctor of FileSize to eliminate code duplication
refactoring: PercentOf extension introduced to elimate percent calculation duplication
refactoring: overloaded PercentOf extension that accepts FileSize
Zero values percents not supported