Don't compare a boolean to an integer

This avoids a warning when building with MSVC.
Properly back up and restore XMM registers on win64 in WelsSampleSadFour4x4_sse2
Limit the ME scanning range to 16 pixels from the end of the buffer

The block size is chosen randomly; if the block size is 16,
LineFullSearch_c will read a block with 16 pixels from kiMaxPos;
thus kiMaxPos cannot be larger than height-16, otherwise the calls
end up with reads out of bounds.
Properly limit the range for the random target motion vectors

A 16x16 pixel block is copied to the destination pointed out by the
target motion vector. Since the motion vector is relative to the
center of the buffer, the upper bound of the range is size/2-16.

Previously we never used negative motion vectors, but there is no
reason not to test that direction. Therefore, the possible range
would be [-size/2,size/2-16]. Additionally pad this range with
INTPEL_NEEDED_MARGIN.
Take the test of TestHorizontalSearch_SSE41 into use

After fixing the ranges, there's no reason to exclude this test.
Use the proper type in function parameters instead of void pointers
Merge pull request #783 from mstorsjo/win64-clobber

Properly back up and restore XMM registers on win64 in WelsSampleSadFour4x4_sse2
Merge pull request #782 from mstorsjo/fix-msvc-warning

Don't compare a boolean to an integer
Merge pull request #786 from mstorsjo/use-proper-types

Use the proper type in function parameters instead of void pointers
Merge pull request #785 from mstorsjo/fix-me-test

Fix occasional errors in the motion estimation tests by correcting the range limits
Merge remote-tracking branch 'upstream/master' into travis.osx
Merge branch 'travis.osx' of https://github.com/ethanhugg/openh264 into travis.osx