The needed header files are already included with SDL.h. Still including them in
the test programs is confusing because it somehow suggests they would be needed.
* Added a destructor to clean up TLS memory at thread shutdown
* Refactored the TLS code to have platform independent code and a small platform dependent core with a fallback to generic code if platform dependent functions fail.
* Fixed recursion issues with SDL_GetErrBuf()