Fix algorithm setter argument validation for uchar

Due to this bug, it's impossible to set any uchar parameters of algorithms.

For example, trying to set the nShadowDetection parameter of a BackgroundSubtractorMOG2 instance results in the following exception:

"Argument error: the setter method was called for the parameter 'nShadowDetection' of the algorithm 'BackgroundSubtractor.MOG2', the parameter has unsigned char type, so it should be set by integer, unsigned integer, uint64, unsigned char, boolean, float or double value, but the setter was called with integer"

The attached commit fixes this.