VideoCapture: copy the captured frame, to avoid dangling Mats

Previously, `VideoCapture::retrieve` would return a `Mat` that referenced the internal `IplImage`. Since the latter is rewritten every time a frame is captured, it means that if the user captures two frames in a row, the first frame would reference nothing. Similar if a user captures a frame, then destroys the `VideoCapture` instance.

Note that the other branch of the `if` isn't affected, since `flip` allocates a new `Mat`.