Fixes #1: Parsed floats (and other non-trivial numbers) no longer NaN

My usage of PEG.js was poor; this new grammar gets parsed numbers to come out cleanly in the parse results.