Provide a common trait for getting slices from both meshes and buffers
Fix broken type inference

Without this you get:

~~~
main.rs:174:17: 176:38 error: multiple applicable methods in scope [E0034]
main.rs:174     let slice = device
main.rs:175         .create_buffer_static(&index_data.as_slice())
main.rs:176         .get_slice(gfx::TriangleList);
main.rs:174:17: 176:38 note: candidate #1 is `render::slice::BufferHandle<u8>.GetSlice::get_slice`
main.rs:174     let slice = device
main.rs:175         .create_buffer_static(&index_data.as_slice())
main.rs:176         .get_slice(gfx::TriangleList);
main.rs:174:17: 176:38 note: candidate #2 is `render::slice::BufferHandle<u16>.GetSlice::get_slice`
main.rs:174     let slice = device
main.rs:175         .create_buffer_static(&index_data.as_slice())
main.rs:176         .get_slice(gfx::TriangleList);
main.rs:174:17: 176:38 note: candidate #3 is `render::slice::BufferHandle<u32>.GetSlice::get_slice`
main.rs:174     let slice = device
main.rs:175         .create_buffer_static(&index_data.as_slice())
main.rs:176         .get_slice(gfx::TriangleList);
~~~