Use an Arc to protect surface instead of a handle.
Allow users to remove bitmaps from the cache.

Outstanding references to the Arc will still be able to use
their spritesheet without issues.

(I believe when those references disappear the surface will be dropped.)