When column changes, grid rebuilds instead of build styles.

Fixed issue where if selection column was hidden, rows wouldn't take up
the remain space. Fixed issue where if columns were reordered, then one
was hidden, then reordered again, then made the one hidden visible,
columns would then be overlapping since the column indexes would be the
same.