make it work with the current fpc fixes branch

There is no SerReadTimeout() in the fixes and in trunk it only
works on *nix anyways and is wrongly implemented on Windows,
so the only option for doing a read that can time out is to poll
on all platforms :-(
implement history