Handles the case where oldInstance == newInstance, or if the collection gets modified while being processed
Directly process JsonConverters inside existing JsonSerializerOptions, without creating a new instance. Handles case where we can't create a new instance, and the options aren't mutable. Also make sure we process static fields in System.Text.Json assembly. Possible fix for #640
Add some more easy hotload skips to save a few milliseconds
Remove the need for X_ALREADY_SET in shaders
We no longer need to add
Added ConsumableResource and ConsumableType and ConsumableEffect. Update ConsumableItem to use it. Add a test Tuna Can item. Added Calories and Hydration and update them over time based on what the player is doing and their temperature.