Only interrupt activities based on noise if we can't see the source of the noise.
Style fix in game::sound().
Restyle crafting menu subcategory iterators.
Refactor crafting categories and subcategories to be more data-driven.
Mark crafting category helpers static, and remove one that was unused.
Restyle game::explosion().
Break out the blast logic from explosion(), and use it to do shrapnel-only explosions for ammo cookoff.
Merge less noise interruption.

Conflicts:
	src/game.cpp
Merge craftcat refactor.

Conflicts:
	data/json/recipes/recipes.json
	src/game.h
Merge ammosplosion refactor.

Conflicts:
	src/game.cpp