Possibly a fix for a possible problem.

The problem is still theoretically possible to observe, but token
definitions would have to be insane.

Basically, before this second call to match with `e + 100`, if there was
a float that had 100 digits before the decimal point, even if float
token definition was before integer token definition, it would fail.
Now, the second match will catch the point and should always prefer
float over integer, in this imaginary case (100 digit float? WTF.), but
it is still possible to cause such problem by providing some insane
token definitions.

Right now it's a #wontfix, but if I think of some smarter way of doing
so, I'll surely implement it.