Made `gfx_macros`'s macros no longer depend on a `gfx` module in the top
level.

This is achieved by inserting `extern crate gfx;` imports at appropiate
places during expansion.

These imports use unique generated identifiers, and thus don't
conflict with each other or user code.

This also changes gfx-test to not having a `gfx` module in scope, thus
ensuring no new breakage sneaking in.
Merge pull request #255 from Kimundi/fix-shaders

Made `gfx_macros`'s macros no longer depend on a `gfx` module in the top
Make fields of `device::Capabilities` public

Since we only expose the capabilities behind a `&`, consumers of the API can't
mutate the capabilities accidentally. This also allows consumers to do their
own querying.
device: gl: tex: clean up some absolute references with imports
device: clean up warnings
render: clean up warnings (removes unused field)