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.
What's the return value of isnum(null)?