Fix highlighting issues with numbers and hexnumbers

- Commit 9ee1681e98f7da16699225eb7849bdc03add5861 fixed the case when a variable
contains a number, but not several because the negative lookbehind only
looks one character behind. Now foo42 works

- Two issues with hexnumbers, 0x in variable names and non-greedy match were
matching inappropriately in some cases.
Also allow 0X in upper case.

Attached is the result before/after:
![after](https://f.cloud.github.com/assets/3686555/629474/e7711578-d14f-11e2-9f7a-48d27baa9664.png)