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 
In your original code, when someone presses escape you set `should_close` to true, then call `device.update()`, then detect that `should_close` is true, then call   ̀device.close()`.

If you try this in the original example, it will hang too:

    'main: loop {
        if window.should_close() { break }
        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);
                    break 'main;
                },
                _ => {},
            }
        }
        device.update();
    }
    device.close();