Format zero without "0x" prefix when using "%#x" and "%#X" on 1.9

Ruby 1.9 doesn't prepend the `0x` prefix to the number 0 when using the `"%#x"` and `"%#X"` formats. 

This pull request extracts some of the behaviour of `Sprinter::ExtIntegerAtom` to add a check for whether the given integer is zero on 1.9.