js jit: fix non-standard #if preprocessor expression

https://bugzilla.mozilla.org/show_bug.cgi?id=956899
js: fix compilation failure when JS_GC_ZEAL isn't defined

https://bugzilla.mozilla.org/show_bug.cgi?id=956899
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.

https://bugzilla.mozilla.org/show_bug.cgi?id=956899
js shell: don't track the stack base address

It's not being used anywhere.

https://bugzilla.mozilla.org/show_bug.cgi?id=956899
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.

https://bugzilla.mozilla.org/show_bug.cgi?id=956899
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.

https://bugzilla.mozilla.org/show_bug.cgi?id=956899
[WIP] js: replace NSPR usage by thin wrappers

https://bugzilla.mozilla.org/show_bug.cgi?id=956899
[WIP] js: fix the standalone vs2010 build

https://bugzilla.mozilla.org/show_bug.cgi?id=956899