AVX2: Support ymm registers in HADD macros
AVX2: high bit-depth predict_8x8c_h and predict_8x16c_h
AVX2: high bit-depth predict_16x16_h
AVX2: high bit-depth predict_4x4_h
AVX: high bit-depth predict_16x16_v

Also restructure some code to reduce code size of various functions, especially in high bit-depth.
AVX2: predict_16x16_p

Also fix the AVX implementation to correctly use the SSSE3 inline asm instead of SSE2.
AVX2: predict_8x8c_p and predict_8x16c_p
AVX2: predict_16x16_dc
AVX: memzero_aligned
AVX2: nal_escape

Also rewrite the entire function to be faster and drop the AVX version which is no longer useful.
AVX2: high_bit_depth pixel_avg2, get_ref, mc_copy_w16 and mc_luma

Also reduce the number of xmm registers used by mc_copy_* to avoid
saving and restoring xmm6 and xmm7 on 64-bit Windows.
AVX2: high bit-depth pixel_sad

Also use loops instead of duplicating code, reduces code size by ~10kB with negligible effect on performance.
AVX2: high bit-depth vsad
AVX2: high bit-depth pixel_sad_x3 and pixel_sad_x4

Also reduce the number of xmm registers used by sse2 and ssse3 versions of pixel_sad_x3.
AVX2: high bit-depth pixel_ssd
AVX2: pixel_ssd_nv12_core
x86: SSSE3 ads_mvs

~55% faster ads in benchasm, ~15-30% in real encoding.
~4% faster "placebo" preset overall.
x86: BMI2 cabac_residual functions
x86: SSSE3 LUT-based faster coeff_level_run

~2x faster coeff_level_run.
Faster CAVLC encoding: {1%,2%,7%} overall with {superfast,medium,slower}.
Uses the same pshufb LUT abuse trick as in the previous ads_mvs patch.