code: def format_row(self, row):
          
          assert all(isinstance(x, VTMLBuffer) for x in row)
          raw = (fn(x) for x, fn in zip(row, self.formatters))
          for line in itertools.zip_longest(*raw):
              line = list(line)
              for i, col in enumerate(line):
                  if col is None:
                      line[i] = self._get_blank_cell(i)
              yield line
docs: Apply overflow, justification and padding to a row.  Returns lines
          (plural) of rendered text for the row.