Support for C90, Visual C++ and timsort_r

Added support for the above mentioned features. Details are in the updated README.md file.

The timsort_r is equivalent to qsort_r. As an aside, I only noticed after the fact in your commit history you had the equivalent "udata" parameter which is what timsort_r provides. Presume you removed that for performance reasons or qsort compatibility. Note that timsort_r can easily coexist with timsort as documented in the README. 

In any case, if you have any interest in these changes, please pull them, else I'll just continue to maintain a separate fork.

BTW, I'm new to git so only now discovered after-the-fact that I could have packaged the changes better (individually on separate branches). Sorry about that.

/Ashok