Rework integer handling

Separate each type of integer into a separate module.  This creates some
code duplication but it also makes each integer token flavor stand on
its own.  This makes it easier to hack on each portion separately.  One
doesn't have to worry whether changes to the hex implementation will
spill over to the binary implementation.