Fixed inspector precision issues when editing floats
Created by: aqnuep
For some reason the editor limits the precision of all floating-point values, including vectors, matrices, etc. to 3 decimal places after the decimal point (as they all have a step of 0.001).
This change gets rid of this artificial limitation at least for the basic types and uniforms.
The implementation of step_decimals() is also changed to use log10 instead of a loop, and it will now correctly handle a step size of zero and return maxn while previously it incorrectly returned 0 in this case.
Fixes #18251 (at least).