Cleaned up num <-> str conv functions

Moved them into own module and made them not depend on an Round trait impl for integers and generic math functions that can fail on integers any more.