ListGrid<E>.from  constructor 
- Grid<
E> other, { - E? empty,
 
Creates a new list grid from an existing grid.
The newer grid is a shallow copy of the existing grid, with the same size,
position, and elements. The empty element is used as the default value,
which defaults to other.empty if omitted.
Example
final grid = ListGrid.filled(2, 2, empty: 0);
grid.set(Pos(0, 0), 1);
final copy = ListGrid.from(grid);
print(copy.get(Pos(0, 0))); // 1
Implementation
factory ListGrid.from(Grid<E> other, {E? empty}) {
  if (other is _ListGrid<E>) {
    return _ListGrid(
      other._width,
      other._height,
      empty ?? other.empty,
      List<E>.from(other._elements),
    );
  }
  final list = List.of(other.cells.map((c) => c.$2));
  return _ListGrid(
    other.width,
    other.height,
    empty ?? other.empty,
    list,
  );
}