The change in src/sdl2/lib.rs to export the libc crate is necessary to
make sure that the downstream user can cast the data1 and data2 pointers
from/to custom pointers.
Also, the test harness is disabled for the tests/events.rs file, since
SDL can only be initialized once and doesn't support multithreading.
* `SDL_RWFromConstMem` and `SDL_RWFromMem` only references the
buffer, and never copies it - ergo, lifetime.
* `AsRef<Path>` lets us use ordinary string slices as path arguments,
like in `std::fs::File`.
* Change to crates.io rand in examples/whitenoise
* Change #[feature(io, path)] to #[feature(old_io, old_path)] everywhere
* Take away the `us` suffix everywhere
* Switch from `c_str_to_bytes` to `CStr::from_ptr(ptr).to_bytes()`
* Change from `CString::from_slice` to `CString::new`
* If possible return a NulError when CString::new fails
* Otherwise, unwrap
* This can be changed (either way) if needed
* Switch from ContravariantLifetime to PhantomData
* Fixed some unused variable errors in tests
* Other minor changes