Also implement AsUniformValue for Texture2d and friends directly
Also implement AsUniformValue for Texture2d and friends directly

In addition to implementing if for references, i.e.
`impl<'a> AsUniformValue for &'a {myname}`.

The method `as_uniform_value(&self)` takes self by reference, so there
should be no need to require the second-level reference.

This allows a longer lifetime to be automatically inferred. Fixes
compilation of the texture_2d_as_uniform_value_lifetime() test from the
previous commit.

This commit doesn't remove the original impl above in order not to introduce
breaking changes. Removing would mean every texture passing in `uniform! {}`
would have to change.

glium/glium