All Rust commits from Facepunch
Merge: from mt_snapshot_saving - Bugfix for exception when saving ApartmentRooms in Jobs 4 mode Tests: rented a room in Jobs 4 mode, verified with debugger that code was hit and no exception produced

- fix broken deferred decal culling (cull distance was being scaled up by integer object quality value rather than percentage, so cull distance became way too far for any culling to happen) - avoid redundant localToWorld calculation in the same frame for each deferred decal
