Add ItemsStack interface, without any Inventory

Because of the debate with inventory formats, I've moved the `ItemStack`
to a separate PR so that we can get this merged sooner, and continue
with interfaces that depend on this.