Add save_image method to Widget

This pr adds a save_image method to Widget, by rendering to an fbo and saving its texture.

If this isn't suitable for the master branch, I'll make a garden widget for it instead.