Remove floating point parsing and split literals

Integers are pushed as primitives while strings as references, so it helps to have different AST nodes.