Constructing a Color with an Array also works when a=0.

The `r[3] || 1` expression returns the wrong result when r[3] is zero
(since this makes the expression fall through). We now check for
undefined.