Feature/screenshot

A class that wraps the _screenshot function around the first on_paint frame of a Canvas.
I tried but failed to make it draw using app.process_events() like in the test framework and "make images gallery"(1).
When I run (1), it also doesn't draw, and is stuck running app.process_events() forever.
Ideally I would like to fix this, but for now it is sufficient for me to just save the image when showing the canvas with app.run()