This also let's us use a KString instead of a string when we're in the Kernel, which opens the path for OOM-failure propagation.
This library can be used (for the most part) by kernel drivers as well as user mode. For this reason FixedPoint is used rather than floating point, but kept to a minimum.