Introduce `InventorySurface` to allow items to be moved between
different inventory grids.
- Update `InventoryItemContainer` to use surface-specific cell sizes
and coordinate transformations.
- Update `InventoryItemSpawner` to handle multiple surfaces.
- Refactor `moveItem` to support transferring items from one
`InventorySignal` to another.
- Add `InventorySurfaceState` to manage surface-specific metadata.
- Remove reliance on global `GRID_CONFIG` in favor of surface data.