Refactor scaled_double_as_int to separate header
Refactor FIR filter

Filter coeefficients are stored as the UpScaled integer type, while
input is stored as InOut type. When performing the inner product,
integer promotion will automatically promote the InOut type to the
UpScaled type. This shouldn't incur much if any runtime cost, and will
reduce the memory footprint of the filter.
Implement fixed point IIR filter and tests