Make plotly.saveImage return a callback when it has finished successfully.

Previously saveImage only called the callback when it failed.  
It also did not check if the callback existed before trying to use it, even though it is an optional parameter.