Speed up __GetCurrentThread(), it's called a lot.

This only needs to be an assertion.
Keep track of the current thread obj.

To reduce overhead/improve perf.  Actually, it used to be only the current
thread object, but now it's just a cache with accessors.