Rudimental units parser

Limitations:
* "1_m" doesn't parse, you've got to write "1*_m"
* SI prefixes don't work