Exact stack rooting changes and more.

 * Enables exact stack rooting and generational garbage collection (GGC). This will still cause crashes at some places, but that should be fixed in future commits.
 * Updates SpiderMonkey to the version of the stable release (v31).
 * Passes a parentRuntime argument to JS_NewRuntime. This should allow SpiderMonkey to save a little bit of memory (check https://bugzilla.mozilla.org/show_bug.cgi?id=964059).
 * More exact stack rooting (closely tied to heap rooted objects, so not suitable to be integrated into SVN directly)
Reverts d4a9b42 and enables the build with NSPR on POSIX systems again.

The reason is that the wrapper doesn't work correctly when using a different API for creating threads. Using this API is not an option and also not possible because SpiderMonkey doesn't expose it to the public interface. Apparently building with NSPR is still considered the preferred approach.