Filter in energy-linear space to avoid problems

Go's image and color libraries do not address the issues of color
profiles or gamma; instead, they appear to use the common working
assumption that colors are expresed in sRGB.  This can be an issue
when doing things like resampling an image, since applying linear
operators require values to be an in linear space, not an exponential
space like sRGB.  This page has some examples:

    http://www.4p8.com/eric.brasseur/gamma.html

This change adds an internal conversion between sRGB and linear
before resampling the signal.  It also makes sure to separate alpha,
which is pre-multiplied in color.Color.  With this change, the Dalai
Lama example from the page above scales as expected.