js jit: fix non-standard #if preprocessor expression
js: fix compilation failure when JS_GC_ZEAL isn't defined
js: avoid read from uninitialized TLS slot in debug mode

The js::jit:ImmPtr constructor does some asserts, due to which a TLS slot
is being read. However, an ImmPtr gets initialized statically with a dead
pointer elsewhere, before the TLS slot is initialized.

Fixed this with a special constructor for dead pointers which doesn't
do these asserts.
js shell: don't track the stack base address

It's not being used anywhere.
js ion: use mozilla::ThreadLocal instead of NSPR

The ion jit stores the current jit context in a TLS slot.
Use the mozilla::ThreadLocal infrastructure for this, and not NSPR.
js vm: use mozilla::ThreadLocal instead of NSPR

The ForkJoin implementation stores the per-thread ForkJoinSlice in a TLS
slot. Use the mozilla::ThreadLocal infrastructure for this, and not NSPR.
js: fix the vs2010 build
the rest