Fix num2hex()'s handling of zero

As in title. Fixes purely blue colors appearing green in the character setup window (due to (0,0,0xYZ) being converted to "#00YZ"), probably fixes some other weirdness too.
Shouldn't this also take num being null into account?