[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.
This was causing the runtime. Overriding the New() without creating T.air. I'll fix these issues in a commit soon.