Floor and ceiling can now vary separately in the level data.
Textures for floors and ceilings are now gathered from level data, not hardcoded.
Varying ceiling heights now seem to work correctly.
Better architecture for variable ceilings.