Revert changes in the error handler since they were unnecessary.

The SDL extension libraries all use the SDL error handling mechanism
so going to extra mile for increased unnecessary complexity is not
worth the overall trade-off in maintenance that is implied through
the different number of error functions in the future.
Complete rewrite of sdl::texture and addition of sdl::surface

Fixes #10 again.