[winrt support] Enabling Boost.Thread to be used in the Windows Runtime.

This involves basically 3 changes:
1. Using __declspec(thread) instead of the Tls APIs.
2. Using Windows::System::Threading since Win32 Threading APIs aren't allowed.
3. Updating or replacing some banned APIs like WaitForSingleObject with WaitForSingleObjectEx.
Yep, that's exactly why we don't use __declspec(thread). Roll on the day we can drop XP support - I'm sure your colleagues entirely agree with this sentiment :)