Remove Rc<RefCell<>>

This patch does a few things to clean up the codebase:

* The 2D vector of reference counted tiles (`Rc<Tile>`) is replaced w/ plain-old `Tile`
    * `Tile` is pretty darn small. I haven't profiled, but I'd imagine it must be smaller than the Rc/Arc I was wrapping it with.
* `Tile` now owns an `Option<RWArc<Sprite>> instead of `Rc<RefCell<Sprite>>`
    * This makes `Map` impl. `Send` again.
    * This removes runtime borrow-checking from the map class.
* `Game` no longer needs an unsafe destructor, as `Map` can be sent.
    * This is the main reason I'm merging this. Never liked having to use #[unsafe_destructor]...)

My understanding is that:
* This means all members of `Game` could [in theory] be sent to separate tasks.