Assorted documentation and formatting cleanups

Why don't we encode these comments directly into the code by using types:
```
pub type VersionMajor = uint;
pub type VersionMinor = uint;
pub type Revision = uint;
pub type VendorDetails = &'static str;
...
pub struct Version(VersionMajor , VersionMinor , Option<Revision >, VendorDetails );
```
I'm not a big fun of comments in general, since they are easily getting de-synced from the code logic (especially in a project evolving so quickly as gfx-rs), in contrast to types checked by the compiler.