Overhauled the crafting code, separated the function into a function that gets the recipe from the crafting bench, a function that finds an item matching a recipe, and a function that crafts with the information from those two.

Also extracted the fancy formatting function for "a/an/N item(s)".

Conflicts:

	js/buttons.js
	js/inventory.js