Bug 905017 (part 1) - Minimize inclusions of JS engine headers in .h and .idl files.  r=billm.

--HG--
extra : rebase_source : 984c61ab12f46be0509b1ce0d458d9a6e5841c64
Bug 886237 - Splitting up XPCComponents. r=bholley
Bug 902156 - Persist 'disable protection' option for Mixed Content Blocker. r=smaug, tanvi
Bug 902156 - Mochitest for Persist 'disable protection' option for Mixed Content Blocker. r=smaug, tanvi
Bug 902156 - Persist 'disable protection' option for Mixed Content Blocker - patch requires update for testcase from bug 822367. r=smaug, tanvi
Backout changeset b43d38c5c456 for build bustage.
Bug 907837 - Fix IWYU false positive to unbreak non-SPS build. r=nrc
Bug 907837 - Don't include SPS headers directly. r=nrc
Bug 907904 Fix string correctness issues r=bsmith
Bug 905017 (part 2) - Move structured clone stuff from jsapi.{h,cpp} and jsclone.{h,cpp} to js/StructuredClone.{h,cpp}.  r=billm.

--HG--
rename : js/src/jsclone.cpp => js/src/vm/StructuredClone.cpp
extra : rebase_source : ecce9699ddb45535aa94d5e3add901f5a8620c46
Bug 905017 (part 3) - Move profiling stack stuff from jsapi.h to js/ProfilingStack.h.  r=billm.

--HG--
extra : rebase_source : 8322f1c96b95685912375484172d47f53107947f
Backout changesets 7e6fb33fdf22:c85332df4320 (bug 905017) for windows bustage.
Merge m-c to inbound
Bug 822096, make sure to not favor perf mode too long, r=roc

--HG--
extra : rebase_source : 79ae8ff0f2ad0b4d5ce07895efdcc316e0264fc4
Bug 902929. Assert that we don't have a compositable child for ImageBridgeClients. r=nical
Bug 902929. Be explicit about re-attaching async video compositable hosts. r=nical
Bug 902330. Reftest for partially transparent layer. r=mattwoodrow
Bug 907901. Remove NS_lround from rect.h. r=Bas
Merge m-c to inbound.
Bug 907147 - Add SkipRoot to stop rooting analysis poinsoning hash in getNewType() r=terrence