Refactor columnWidth calculations

Round column widths to avoid canvas overflow problems
Round column widths to avoid canvas overflow problems