Item_factory: add support for loading items of type it_stationary.

- Simplify the constructor of it_stationary to make it usable in Item_factory (all the values of it_type are loaded _after_ the object has been created).
Export the flyer item to json.
Allow snippet texts to be read from an array

instead of having each entry in a separate json object.
Add documentation for json type STATIONARY and snippet.
Add extraction of translations for stationary items
Submap refactor: Add accessors for submap::graf
Speedup SDL version with footsteps:

Move the common code of the two version of game::draw_footsteps (sdl/curses) into a single function game::calculate_footstep_markers in game.cpp
Move the remaining code that adds the footsteps to w_terrain into game.cpp as it is the same for SDL (when not using cata_tiles) and curses: game::draw_footsteps.
Skip drawing the footsteps with game::draw_footsteps when cata_tiles is used. cata_tiles, instead let cata_tiles grab the footstep itself.
This last step removes a second call of wrefresh(w_terrain) when cata_tiles is used (first in game::draw_ter, second in game::draw_footsteps).
cata_tiles will draw the terrain when wrefresh(w_terrain) is called, this happens now once only.
Refactor struct trap

Made some members to private, added getters for them.

Added trigger function, common for monster and player
Added can_see function to check for visibility.
Add missing visibility check for traps in cata_tiles
trigger existing traps when placing a new one there.

If the character sees the existing trap, don't trigger just tell.
Made fanny pack belted layer, added coverage and material_thickness to several now belted items.
Now checks if Internal Furnace is active

Part of making Internal Furnace bionic toggleable.
Makes Internal Furnace active

Just to make it toggleable, like Metabolic Interchange.
Add basis for effect ratings

This adds a new effect_rating, which puts the several effects into one
of the categories “good”, “bad”, “neutral” and “mixed”.
This is purely declaratory and intended for display purposes.
Assign some effects in JSON a rating

This affects only the effects which also are at least rougly
described in JSON.
Make messages colorful for gaining/losing effecs
Change rating for contact lenses effect
Merge remote-tracking branches 'dda/pr/7480', 'dda/pr/7486', 'dda/pr/7509', 'dda/pr/7529', 'dda/pr/7530' and 'dda/pr/7531' into dda-master

* dda/pr/7480:
  Add extraction of translations for stationary items
  Add documentation for json type STATIONARY and snippet.
  Allow snippet texts to be read from an array
  Export the flyer item to json.
  Item_factory: add support for loading items of type it_stationary.

* dda/pr/7486:
  Submap refactor: Add accessors for submap::graf

* dda/pr/7509:
  Speedup SDL version with footsteps:

* dda/pr/7529:
  Made fanny pack belted layer, added coverage and material_thickness to several now belted items.

* dda/pr/7530:
  Makes Internal Furnace active
  Now checks if Internal Furnace is active

* dda/pr/7531:
  Change rating for contact lenses effect
  Make messages colorful for gaining/losing effecs
  Assign some effects in JSON a rating
  Add basis for effect ratings
Merge remote-tracking branch 'dda/pr/7514' into dda-master

* dda/pr/7514:
  trigger existing traps when placing a new one there.
  Add missing visibility check for traps in cata_tiles
  Refactor struct trap

Conflicts:
	src/iuse.cpp
	src/map.cpp