Now it explicitely stores name of SDL function which caused an error
and generates complete user-readable error message which contains both
function name and SDL error message. Users can now handle SDL2pp
exceptions along with all others in `catch (std::exception&)' and
get complete error info.
While here, fixed incorrect function names in some throw's
This is not really needed as SDL has these checks internally,
but this way it's still safer and more apparent that moved-from
objects are handled properly.