Add apply_as_mask operation

I had a need for an operator like this when I wanted to apply a circular layer mask to an image. I thought it might be useful for others too!

Starting with an image, you create a canvas of the same size with a white background. Then you 'colour in' bits of the new canvas black. Use `mask.apply_as_image(image)` to modify the mask replacing all black pixels with their respective image pixels.
I wonder if this is not easily implemented using the `compose` operation, by making all pixels you want to replace transparent.