All Rust commits from Facepunch
Flush buffer now uses realtime rather than invokes (allows it to push in demos)