Column header resizing and text truncation

I've put in code to prevent columns from being resized to negative values. Also, the text in the headers will now be truncated if the column width is too narrow.