Bug 815847 - Part 1: Remove nsXULPrototypeCache::gStartupCache; r=bsmedberg

There is no good reason why this variable should be used.
Bug 815847 - Part 2: Waste less memory in nsXULPrototypeCache::mCacheURITable; r=bsmedberg
Bug 815847 - Part 3: Avoid double-caching XUL prototypes which are loaded at around the same time; r=bsmedberg
Bug 815847 - Part 4: Implement a hidden private window managed by the app shell service; r=bzbarsky
Bug 815847 - Part 5: Ignore the hidden private window when sending the last-pb-context-exited notification; r=bzbarsky