dsputil: Move hpel_template #include out of dsputil_template

Multiple inclusion makes no sense as it is only used in the 8-bit case.
dsputil_template: Move bits that are used templatized into separate file

This allows detemplatizing the bits that are not instantiated twice.
Add missing headers to make template files compile (more) standalone
dsputil_template: Detemplatize the code

The indirection makes no sense without multiple instantiation.
hpeldsp_template: Detemplatize the code

The indirection makes no sense without multiple instantiation.
dsputil: Move RV40-specific bits into rv40dsp
dsputil: Move draw_edges and clear_block* out of dsputil_template

The functions are not used templatized.
hpeldsp_template: Drop av_unused attribute from *_no_rnd_pixels16_8_c functions
hpeldsp_template: Move content to hpeldsp

There is no point in having this separate; it is not used as a template.
x86: hpeldsp: Keep all rnd_template instantiations in hpeldsp_init

There is no point in having a separate file just for the instantiation
that provides the public functions.