quant_4x4x4: quant one 8x8 block at a time

This reduces overhead and lets us use less branchy code for zigzag, dequant,
decimate, and so on.
Reorganize and optimize a lot of macroblock_encode using this new function.
~1-2% faster overall.

Includes NEON and x86 versions of the new function.
Using larger merged functions like this will also make wider SIMD, like
AVX2, more effective.
x86_64 cabac_block_residual assembly

RDO: ~20% faster than C
Bitstream: ~50% faster than C
1-2% faster overall, highest on preset superfast/fast/medium.
CABAC/CAVLC: use the new bit-iterating macro here too
Significantly faster.
Add slice-min-mbs feature

Works in conjunction with slice-max-mbs and/or slice-max-size to avoid overly
small slices.
Useful with certain decoders that barf on extremely small slices.

In the case that even a slice of size slice-min-mbs exceeds slice-max-size
x264 will raise the QP until it fits.
This shouldn't cause significant quality degradation with sane choices of
slice-min-mbs and slice-max-size. For example, with slice-max-size of 2000
and slice-min-mbs of 10, each macroblock can get roughly 1600 bits.

If even this somehow can't achieve the constraints (possible with absurd
parameter choices or low qp-max), x264 will exceed the given slice-max-size
and print a warning.