added `target` to .gitignore.
fixed the version field in Cargo.toml.
rust-sdl 0.3.4: some mutability changes.

Thanks to a commit by @mvdnes (25e01ff0dbd2d893bb23a0125f6ce7b51ca9527d),
it became evident that rust-sdl's use of an immutable raw pointer is
mostly flawed: most prominently some immutable variables got changed
unsafely, making it prone to (otherwise safe) optimizations.

This commit takes this issue as an opportunity to audit all pointer uses
in the low-level interface and fixes all problematic uses of `*const T`.
Unfortunately, this leads to some slight interface changes:

* Many raw handles to the SDL types are now stored in the mutable
  pointer. You may have to manually convert it to the immutable pointer;
  `foo.raw as *const _` is handy for that.
* SDL_mixer: `Chunk::play[_timed]` now requires `self` to be mutable.
* SDL_mixer: `Chunk::to_mut_ll_chunk` has been introduced. (This is
  indeed the direct reason for `play[_timed]` mutability changes.)

Since these changes will cause non-trivial amount of downstream changes
other than the pure language updates, the version number has been bumped.