Added skeleton of new Recipe handling code.
Moved all recipe registration to a dedicated RecipeLibrary object. This
object can be switched out for other objects (when they're implemented)
using a config value to allow for different sets of recipes using
different mods.
Finish move-recipes
Fixed bug where Lens Grinder would reset progress any time the input
inventory changed, even if the recipe did not.