Inventory Object
Inventory objects are a value class around the primitive 'long' to efficiently compress an inventory's contents into a long array. This allows us to avoid any garbage creation that would otherwise be created by making lists of objs repeatedly.