def get_column index
      return @chash[index] if @chash[index]
      # create a new entry since none present
      c = ColumnInfo.new
      c.index = index
      @chash[index] = c
      return c
    end
def get_column index
      return @chash[index] if @chash[index]
      # create a new entry since none present
      c = ColumnInfo.new
      c.index = index
      @chash[index] = c
      return c
    end
retrieve the column info structure for the given offset. The offset
 pertains to the visible offset not actual offset in data model.
 These two differ when we move a column.
 @return ColumnInfo object containing width align color bgcolor attrib hidden