Merged getFlatIcon rendering from tgstation
Based on tgstation #2826. This is not all of it though.
Patched display and dealt with lying.
Added workaround for non-directional icons with dir!=2
Several items in the map are set with a dir other than 2 but the icon associated with the item doesn't have directions. As such they misrender.

This resolves that specific issue, for the most part. Due to an odd behavior of Byond, when this circumstance occurs the icon proc produces a 32x32 image that is all alpha 0. At least that's what my testing suggests; it may be possible with large icons to encounter this as an issue and cause it to ignore an icon that should be reloaded from the default. However, this can't do any worse than the current software.

Conflicts:
	code/__HELPERS/icons.dm
Modified to check every pixel
Checking only a few pixels had the tendancy to turn my charcter's head inside out when I was pointing directions other than south. Worse case is 1024 tests per object in the image. This test should be uncommon and the CPU usage is constrained by other factors.
Ported nearest-neighbor scaling from TG
Made camera render turf effects.
Ported multi-turf behavior
This allows for layering that moves across tiles and enables alternate methods of enumerating the tile list (not used at present.)

Conflicts:
	code/modules/paperwork/photography.dm
Makes photos visible on bundles

Conflicts:
	code/modules/paperwork/paper_bundle.dm
	code/modules/paperwork/photography.dm
	icons/obj/bureaucracy.dmi
Added handler for pixel stepping
Makes it possible for the AI to take and view images.

Conflicts:
	baystation12.int
	code/modules/mob/living/silicon/ai/ai.dm
	code/modules/mob/transform_procs.dm
	code/modules/paperwork/photography.dm
Expands the AI photo-camera so that it now has robot/cyborg support. Also implements DRY in practice.

Conflicts:
	code/modules/mob/living/silicon/ai/ai.dm
	code/modules/mob/living/silicon/robot/robot.dm
	code/modules/mob/living/silicon/robot/wires.dm
	code/modules/mob/transform_procs.dm
	code/modules/paperwork/photography.dm
Fixes runtime errors. AIs and cyborgs can now attach their photos to newscasters as well as photocopy them.

Conflicts:
	baystation12.int
	code/modules/mob/living/silicon/ai/ai.dm
	code/modules/mob/living/silicon/robot/robot.dm
UI fixes for new AI photography
PLASMA MAAAAAAAAAAAAAAAAAAAAAAAN

Conflicts:
	.gitignore
	baystation12.dme
	code/_onclick/hud/screen_objects.dm
	code/modules/clothing/spacesuits/alien.dm
	code/modules/media/tapedeck.dm
	code/modules/mob/living/carbon/human/human.dm
	code/modules/mob/living/carbon/human/life.dm
	code/modules/mob/living/carbon/species.dm
	html/changelog.html
	icons/mob/back.dmi
	icons/mob/head.dmi
	icons/mob/in-hand/in-hand_sync_report.txt
	icons/mob/items_lefthand.dmi
	icons/mob/items_righthand.dmi
	icons/mob/suit.dmi
	icons/obj/clothing/hats.dmi
	icons/obj/clothing/suits.dmi
	icons/obj/tank.dmi
Plasmen bogfix

Conflicts:
	code/ZAS/Plasma.dm
Bugfixes
Fixes #5827

- Drones can now use .d to access Drone chat
- Cleaner and nicer check for dronechat, uses proper data from say.dm shortcut list.
- MISSING: .d alternative for "Russian localization" (Does anyone actually use that?)
Allows escape shuttle to scan IDs from within UI

Fixes #5592

Conflicts:
	nano/templates/escape_shuttle_control_console.tmpl
Allows pod to be launched if shuttle leaves early
Fix