Alas, I cannot get duplicated devices anymore

Anyway, some changes:
1. Windows: Added a ⚠ sign, followed by the error code in the info (optional). I have not observed errors on attached devices in Linux, so no support for that.
2. Windows: Some devices generate DBT_DEVNODES_CHANGED, but they never send DBT_DEVICEARRIVAL or DBT_DEVICEREMOVECOMPLETE, so events
OnComConnected and
OnComDisconnected were not triggered.
A routine is added in SerialWatcher to refresh the device list when DBT_DEVNODES_CHANGED is sent alone.
I am still wondering if this is a good idea, since it causes some lag in the GUI (maybe hundreds of milliseconds).
The other option I was considering is to add simply an
OnComUnknownChange event, togeher with the current
OnComConnected and
OnComDisconnected.
The good thing is that I have observed this behaviour only on one COM devices with errors. Actually this COM device is not even a COM device, but a mouse/keyboard, which my Windows identifies improperly.
3. Did not compile with
fpc 3.2.4, fixed.