Implement float support to FOR IN RANGE loops (fixes #1850)

FOR IN RANGE loop works now even with float arguments.
- it can return something different than 0, if the number of digits before `e` is bigger than the exponent (e.g. `_digits(1.123456789898787879789e15)` should return 1 )
- it also works with negative exponents; the fact that `_digits(1e-20)` returns 20 digits seems correct to me
- tests are already added in `\utest\utils\test_frange.py` for scientific notation and they pass
- I can add separate tests for `_digits`, but this will take time