Add check for enough charges when disassembling.

Used components are not stored for items that are counted by charges. Those items are merges into one item which screws up that setting.
disassembling yields charges only for stuff not crafted by player
Some initial fumbling around with reducing include dependencies.
Merge a passel of bugfixes.
Debug function that draws hordes on the overmap.

Replaces the old horde debug functionality.
Move vision check to the right scope.
Merge ability to load seperate fonts for map and menus in SDL mode.
Draw the target of the horde as well.
Merge bugfixes and dependency disenganglement from Bdragon.
Remove commented out code.
Period added.
Replace predicates of the form container.size() == 0 with container.empty().
Use pattern matching to identify zombies in zombie speed mods.
I missed so many thing
Edited terrain.json for t_door_locked_alarm by removing open : t_door_o which made the locked_alarmed door not be locked.
Replace predicates of the form container.size() > 0 with \!container.empty().
Fixes #6685.
Period added in the right place hopefully.
Emergency build fix to add missing headers after a cleanup.
Removes redundant mango.