DownsampleFactorMax support strides: issue #2196

You do not need the call to `__builtin__.min` here, because Python will accept a slice like `ii_st:(ii_st + ds[0])` even if it goes beyond `img_rows`, and simply return a smaller patch.