Fix whitespace with enum OS.
Avoid Excessive PreProcessor usage.
Clean up natives a little.
Use newer names for SM pointers.
Remove std garbage.
Remove garbage SH Decl
Implement proper threading, lightly tested.
Merge pull request #1 from KyleSanderson/master

Threading + Things