Use Windows system calls to get better info

Use the hardware GUID as a basis for the device uuid (to persist between reinstalls)
Look at the HAL device driver version to work out what version of Windows we're actually running on (because running a Win8 app on Win8.1 will report as if it's still running on Win8)