To help users identify conditions that are causing room system invalidation, a reason message is passed to the unload function and logged.
Checks for invalid children / grandchildren etc.
Adds support for occlusion culling via rooms and portals.