'Force a re-shape of the entire table.
Kwargs:
Table options as per `EvTable.__init__`.'

def reformat(self, **kwargs):

    self.width = kwargs.pop('width', self.width)
    self.height = kwargs.pop('height', self.height)
    for (key, value) in kwargs.items():
        setattr(self, key, value)
    hchar = kwargs.pop('header_line_char', self.header_line_char)
    self.header_line_char = (hchar[0] if hchar else self.header_line_char)
    self.border_width = kwargs.get('border_width', self.border_width)
    self.corner_char = kwargs.get('corner_char', self.corner_char)
    self.header_line_char = kwargs.get('header_line_char', self.header_line_char)
    self.corner_top_left_char = _to_ansi(kwargs.pop('corner_top_left_char', self.corner_char))
    self.corner_top_right_char = _to_ansi(kwargs.pop('corner_top_right_char', self.corner_char))
    self.corner_bottom_left_char = _to_ansi(kwargs.pop('corner_bottom_left_char', self.corner_char))
    self.corner_bottom_right_char = _to_ansi(kwargs.pop('corner_bottom_right_char', self.corner_char))
    self.options.update(kwargs)
