Fix for bug #3469 CV_XADD failing in clang+nvcc combination

Taken from 3f0765523113ae7fc1b300f27dd78c642bb2b6c7
Merge pull request #3255 from bhack:fix_cuda_macosx
Fixed MSMF file capture error while opening the file containing unsupported video stream format
Fixed CMake issue with FFMPEG highgui configuration

Currently, FFMPEG source files are included in highgui project file regardless of CMake WITH_FFMPEG option.
After applying this PR FFMPEG files are included only if WITH_FFMPEG option is enabled.
Use FFMPEG capture only if HAVE_FFMPEG flag is defined.
fixing some wrong CPP prefixes - still old interface
Merge pull request #3262 from StevenPuttemans:fix_window_param
Merge pull request #3261 from a-wi:CMake_FFMPEG_config
Fixed warning during cross compile for ARM
set ffmpeg mutex to NULL on destruction.

The Mutex manager registered with ffmpeg must reset the mutex to NULL after destruction, otherwise ffmpeg will give the invalid mutex to the next mutex manager when it asks it to CREATE a new mutex.
See ffmpeg code: http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavcodec/utils.c;h=28c5785398fcf11a3d3c70a8cd09e9df798e2734;hb=HEAD#l3423

Cherry picked from head (file has moved but issue is the same).
Conflicts:
	modules/videoio/src/cap_ffmpeg_impl.hpp
Merge pull request #3260 from a-wi:MSMF_file_error
Merge pull request #3266 from mshabunin:arm_warning
Merge pull request #3272 from mgeorg:reset_ffmpeg_mutex_2_4
Added implicit dependency from python and python-py to debian packages.
Merge pull request #3263 from asmorkalov:python_tests_package_lintian
GStreamer 1.0 backport from master branch.
FFmpeg back port from master to enable failed tests.