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.
Why this change? The new name is redundant, it repeats the name of the class. There is no other loading function that it needs to be distinguished from either. To me this looks like naming the length function `std::string` as `string_length`, it just adds redundancy. Of course `requirements::load` loads the requirements, what else should it load?

And the comment above that line is also redundant, it's word by word the same as the code: `rec` == recipe, `load_requirements` == load requirements, what's the point of it?

\<irony\> Why not make it even more explicit: `load_requirements_from_json_given_as_parameter_into_this_object(...)` or `player::can_player_disassemble`?