Change item::material to return a material pointer directly.

Previously item::material returned only the material ident. That ident has been used to get the material_type object. Now this is already done by the get_material function.

Use material ident null instead of empty ident for is_null check. The
json file contains a material with ident "null" and some code also
relies on it.
Search for translated material name in game::list_items_match

Also made search for category and material case-insensitive.