use PString to avoid: crashes due to String, sprintf() or dtostrf() float issues

If you look at the example formatting above, there's an initial label terminated with space, then 4 characters for the float, then a space character, then the string "RPM". The label, spaces and "RPM" are only written once, during initialization. The float is refreshed once per second.

Sometimes, but not always, when the input was 10.00, dtostrf() would return "10.00" instead of "10.0", overwriting the space. The extra "0" would stay there forever after that. The only way to reproduce this was to let the code do its thing - in 30 minutes to 1 hour or so it would stumble upon the corner case and trigger the bug. Feeding "10.00" intentionally into dtostrf() would not work.

Anyway, this project will become part of a digital controller for a machine operating in the real world, creating large quadratic surfaces in solid glass with a precision of 0.1 microns or less. Random mysterious errors, even when rare, even when seemingly affecting just the display, are unacceptable. After I ditched the initial code and started using PString, I was unable to trigger any bug, no matter what.