Allow a base64 encoded image string to be saved without canvas

Not sure if this pull request will be useful for other users, but I needed the ability to save a base64 encoded image to the device without using a canvas.

This solution may not be the best as the successCallback is called after the base64 encoded string is fetched from the canvas, but I imagine this wouldn't happen in the majority of use cases.