Add strict type validator

It seems like the same could be done by casting values with `Number()` and checking with `isNaN()` – this would have a slightly different result, though: `'042'` would be a `42`.
Wouldn't you like add some tests for different number representations? This would give a good picture on how it works.