Show the recipes you know how to craft using an item as part of the item description [WIP/CR]

I also ended up yanking some of the crafting stuff out of game and putting it in player, where it made slightly more sense.

This is currently pretty slow… not sure how much can be done about that, but as it only does it when you look at the description for an item perhaps it doesn't matter too much?

It only displays for components, not tools. Recipes you can currently craft are highlighted.

I tried caching the recipe lookup but it turns out the slow part is checking recipe craftability.
I'm fine with updating things so that requirements is a member in stead of being inherited. That would remove the confusion. How does it sound if I rename the `requirements` class to something like `requirements_data`, then recipes and constructions can have `requirements`?

Re: `check_recipe_ident`… Ugh. It says "check", not clobber. Even if i used something other than pointers the lookup would be wrong if it wasn't updated there.

Re: reverse requirements map construction, I could put it in a separate function, I just figured the inline loop + comment was more concise. The comment's so you don't have to read the loop, but if you want to it's right there. Makes it easier to skim.