Don't try to clear errors in GL_ActivateRenderer() before we MakeCurrent.

Otherwise, if we destroyed a different renderer, next time this one draws,
it'll clear errors forever (GL_INVALID_OPERATION for having no current
context, at least on Windows), hanging up the program in an infinite loop.

Fixes Bugzilla #1775.
Don't allocate memory if we're just going to fail when checking parameters.
Include SDL_assert.h to fix broken build.