added Blinn-Phong shader

This also adds a custom mipmap downsampler, for a better control over
the scaling algorithm.