Improve generate_gl_bindings! plugin syntax

The new syntax looks like:

~~~rust
generate_gl_bindings! {
    api: gl,
    profile: core,
    version: 4.5,
    generator: global,
    extensions: [
        GL_EXT_texture_filter_anisotropic,
    ],
}
~~~

The updated README and doc comment should supply you with more information.
Use proper span for error messages
Use strings instead of identifiers for options

This should be more future proof, and looks more uniform on an aesthetic level. Using identifiers for the generator options also conflicts with Rust's naming conventions, for example, the `api` options are all lower case letters, where as variants are usually in Pascal case.

~~~rust
generate_gl_bindings! {
    api: "gl",
    profile: "core",
    version: "4.5",
    generator: "global",
    extensions: [
        "GL_EXT_texture_filter_anisotropic",
    ],
}
~~~
Merge pull request #191 from bjz/improve-plugin-syntax

Improve generate_gl_bindings! plugin syntax