Fixed the bug with random offset selection

When you wish to mirror the image you are also forced to set the crop_size param, which is fine. But if you set the crop_size to be equal to the width (or height) to cancel its behaviour, the program will terminate without any explanations.

The problem is here
```c++
h_off = Rand() % (height - crop_size);
w_off = Rand() % (width - crop_size);
```

This bugfix sets the h_off or w_off to be zero where appropriate.

Why not return (signed) `int` as well? (E.g., just for illustration, how often is `Rand(10) - 5 < 0` true using this code?) The argument type (along with the assertion you added) makes sure that the output won't overflow.