added external while implementing png loader

the external error is used when the error is from a library or something
not part of the source and cannot be determined, similar to unknow but
its not my fault this time.