Teach mix() to allow 0 weight

It seems that `myColor.mix(otherColor, 0)` should return `myColor`. Right now, it evaluates 0 as falsy, and turns `weight` into `0.5`

Thanks for the lib! It's certainly coming in handy.