Turns out SDL_UnlockSurface was supposed to be returning void rather
than int. This caused the with_lock method of Surface to sometimes
inexplicably fail, as the underlying library was returning junk to Rust.
Changed it to Void and all appears happy.