Impressionized Image
Click the image to see the original version.

Comments
As mandatory extra credit, I implemented a brush (or brushes depending on how you count) that applies a filter. The brush size can be changed using the "Size" slider. The light button that says "Filter Original" allows you to toggle between painting a filtered version of what has already been painted or a filtered version of the original picture. The filter applied is the same as whichever one was input in the regular Filter dialog. So to paint a with the filter brush, you go to the Filter dialog and input a filter then go back to the filter brush and paint. In this way, it can paint with any 5x5 filter. If, for example, you wanted to paint a copy of the original picture you could leave the filter as default and choose "Filter Original".