Create an autorelease pool for each SDL function call

The SDL_SetCursor() function sometimes calls Cocoa functions
which assume that there is an auto-release pool in place.

We are not sure if there are other SDL functions thay may call
Cocoa functions or allocate NS objects that will need an
auto-release pool, so we will wrap all calls to SDL functions in
an autoreleasepool block.