game::list_items and list_monsters: delete window pointers via unique_ptr wrapper,

instead of calling werase / delwin whenever the function is left.
This also fixes a display bug: the content of those windows have not been erased.
Remove obscure logic to delete window in draw_item_info.

The previous code relied on the parameter without_getch, to detect whether the window should be deleted.
This is simply wrong, calling the first version of draw_item_info (without a window pointer) with without_getch set to true, would bypass the deletion of the window.
This means the memory of that window leaks. Leaks are bad, m'kay.

Note that there is no werase / wrefresh call here for compatibility - there was no such call there before those changes.
Also the code in inventory_ui to show two item descriptions side by side for comparison relies on the window not being erased.
Shorten item name in pickup description, so it fits between the "< %s >"
Revert "Fix display bug in item info window:"

There shall be a better solution to the problem.

This reverts commit f1ca873bd48a8a24313b34e742d4d6ba9c8b35bf.
Fix formatting of item info in draw_item_info:

Write all text into a buffer and apply word wrapping to the whole text.
This works better in the case where several description entries go on one line.

This also fixes the bug the has been fixed by f1ca873bd48a8a24313b34e742d4d6ba9c8b35bf.
Fix “Empty” language in options.

The optionNames map does not contain the name for the option " es_ES", the space there is wrong.