Rust update and separation of gl and 2dgl