All Rust commits from Facepunch
Changed the deferred lights to use per draw light cookies to fix the flickering lights issue