I'm not sure this is the right solution. I think there are cases where you might want to return this error to the Python side.  In cases where one doesn't, we are already calling `PyErr_Clear` in `_png.cpp` after calling `mpl_PyFile_Dup`.  I think `_backend_agg.cpp` should also do that -- but I don't think it makes sense to do that here.  The idea of this function is that a Python error should always be set when in returns NULL (like most Python/C API functions).