[WIP] Floor refactor

So I wanted to add a tiny little feature to flooring. I thought the code was ugly, so I rewrote a bit. Then it got even more ugly. In the end I just said fuck it and rewrote most of the /turf/simulated/floor code, so, yeah, here it is. Functionally, it's 95% the same. I'm mildly concerned about lag (because I made liberal use of ChangeTurf, which is considerably more expensive than just swapping icon_state and floor_tile). On the other hand, this should make floor code a lot more maintainable, a lot more extensible, and a LOT less snowflakey.

The reason this is tagged as WIP is because it causes atmos runtimes and infinite loops somehow (despite the fact that I didn't touch atmos code). Any help fixing those is welcome. Furthermore, as this is a major revamp, it's bound to introduce bizarre bugs. Despite that, I believe it had to be done eventually, because, honestly, the current floor code is UGLY.
We don't accept FILE_DIR commits, You need to untick the "automatically set FILE_DIR" option in "preferences for tgstation.dme" in Dreammaker and then recommit the dme.