Uniforms reform

- Remove `UniformValueBinder` in favor of an enum `UniformValue`.
- Rename the `UniformValue` trait to `IntoUniformValue`.
- Change `Uniform` trait's API
- No longer implement `UniformValue`/`IntoUniformValue` for `TextureImplementation`
- Add `UniformType` enum.

~~The `#[uniforms]` syntax extensions needs to be fixed.~~

This is **not** a breaking change, except if you were manually implementing the `Uniform` or `UniformValue` traits.