Support for gl-init-rs

Most of the code is adding an example. Please tell me if I need to add or change something.

Closes #153 
As far as I see our original code uses `device.close()`:
```rust
    while !window.should_close() {
        glfw.poll_events();
        // quit when Esc is pressed.
        for (_, event) in glfw::flush_messages(&events) {
            match event {
                glfw::KeyEvent(glfw::KeyEscape, _, glfw::Press, _) => {
                    window.set_should_close(true);
                },
                _ => {},
            }
        }
        device.update();
    }
    device.close();
```