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