Floor refactor: fixes floor tile icon_state switching, removes uneeded spawns, cleans up old cruft and redundant code

Fixes #1839

Fixes #2797