Issue #20 - Negative number support

Needs more revision, only tested in Chrome so far. There is a bug that occurs every now and then when switching between negative and positive numbers, but I'm not sure what causes it and deleting the field contents and rewriting it out fixes it.

Anyway, the proposed code is good enough for what I'm doing with it, and hopefully will only need minor changes before it's ready be pushed into the project.