No scanf

Replace Scanf use with manual parsers which give us greater flexibility, better error messages, smaller footprint, and perhaps improved performance.