stmhal: Fix bug where negative delay/udelay lead to huge delays.

A negative ms/us is now treated as a delay of 0 ms/us.  This patch also
improves the calibration of udelay.
mingw: Add implementation of realpath()

The mingw port used _fullpath() until now, but the behaviour is not exactly
the same as realpath()'s on unix; major difference being that it doesn't
return an error for non-existing files, which would bypass main's error
checking and bail out without any error message.

Also realpath() will return forward slashes only since main() relies on that.