Treat numbers as numbers in expressions

This is is revert of the following two reverts
41155259edd18ef56a88d9b05370292bb9c79a38
d03bd9b68a0a0cff068eac28dbd7292e9ab5774f

The original commit had an issue where '' was treated as 0.
Merge pull request #27 from arv/expression-literals-again

Treat numbers as numbers in expressions