Adding an SDLSurfaceDeleter.

This class is needed to delete SDL_Surface*'s.  Why?  Because
SDL_Surfaces are freed using SDL_FreeSurface.  Merely deleting
SDL_Surfaces will not actually free their memory.  This
SDLSurfaceDeleter tells std::unique_ptr and std::shared_ptr how to free
the SDL_Surface.