Improve Contour#corners

Doesn't rely on creating an image anymore. Instead, it simplifies the
contours and that picks up the corners by itself.
Image#contours now uses a temporary image.

This is because cv::findContours modifies the image it runs on.