Removed some dead code.

Removed an unused enum type from gd_interpolation.c. This was the
original version of gdInterpolationMethod in gd.h.
More dead code removal.

Missed the typedef.  This patch gets it.
Higher precision in scaling.

Scaling (i.e. _gdScaleOneAxis()) accumulated the weighted samples in
unsigned char variables.  This truncated the floating-point result
toward zero, leading to a darker image and quantization of colour
gradients.  Switching to round (via round() in math.h) led to overflows
on very bright regions.

This change switches to keeping the values in doubles and only
coverting the final sums to unsigned char.

The conversion uses a couple of casts for speed.  The behaviour is
defined by ANSI but only correct on computers using twos-complement
arithmetic.  As such, this may break on obscure microcontrollers or
1960's-era minicomputers.