Fix issue where loading lightning field from weather save file might trigger a crash.
Add color support for messages

This commit contains some dummy message functions (_type).
They are intended to be removed in a later commit
Overload message functions

… and get rid of those ugly “_type” things
Overload player.cpp wrappers around add_msg
Ensure new game_messages have always a type.
Change enum game_message_type
Put most game messages (add_msg …) into an appropriate category
Make new NPC wrapper functions around add_msg (with type)
Colorize melee battle messages
Colorize death and guilt messages
Colorize mutation messages
Colorize monster messages
Fix flipped message colors for mutation changes
Document “enum game_message_type” in ENUMS.md
Fixes a few more item prices.
Categorize messages related to inventory letters
Small fix regarding default game message type
SDL: let SDL decide which display resolution to use in fullscreen mode

After creating the fullscreen window (based on the use specific TERMINAL_WIDTH/TERMINAL_HEIGHT),
use the actual window size to calculate TERMINAL_WIDTH/TERMINAL_HEIGHT and ignore the user supplied ones.
Assorted fixes to game::init_ui and dependencies of it.

Added some comment to game::init_ui explaining how the different font dimensions work.
Removed second call to SDL_SetRenderTarget in WinCreate
Renamed translate_terrain_window_size/translate_terrain_window_size_back to (to/from)_map_font_dimension which does match their content better.
Made the from_map_font_dimension function round the result up to include partially visible squares.
Loop to make sure crates have content, or change them to open crates if no items have been placed.