Move wmv idct to its own DSP context.

This allows us to remove FF_IDCT_WMV2, which serves no practical purpose
other than to be able to select the WMV2 IDCT for MPEG (or vice versa)
and get corrupt output.
Put FF_IDCT_{VP3,H264,CAVS,BINK,EA,WMV2} under FF_API_IDCT.

This allows us to get rid of them on the next major bump. All of the
above are functionally irrelevant, and most of them are unused, except
the vp3 one, which is used wrongly in the bfin arch optimizations.
floatdsp: move vector_fmul_reverse from dsputil to avfloatdsp.

Now, nellymoserenc and aacenc no longer depends on dsputil. Independent
of this patch, wmaprodec also does not depend on dsputil, so I removed
it from there also.
dsputil: remove butterflies_float_interleave.

The function is unused.
floatdsp: move butterflies_float from dsputil to avfloatdsp.

This makes wmadec/enc, twinvq and mpegaudiodec (i.e. mp2/mp3)
independent of dsputil.
floatdsp: move scalarproduct_float from dsputil to avfloatdsp.

This makes the aac decoder and all voice codecs independent of dsputil.