only calcs width when necessary

dont recalc width for every "priority" unless num columns hidden is different from last attempt. Saves computation especially because default priority =99!