Bug 1037220. Reorder rendering to avoid render target switches. r=mwoodrow,bgirard

Before we would for example draw the background, switch to a container layers's
render target, draw to that, switch back the render target draw the
container layer, move on to the next container layer etc.

This render target switching is especially bad for mobile gpus (like adreno
that needs to move things in and out of gmem).

This change switches to a two pass approach that renders all of the container
layers first (unless they need a copy of the background) and then composites
everything all together.

--HG--
rename : toolkit/devtools/jsbeautify/beautify.js => browser/devtools/shared/Jsbeautify.jsm
rename : security/pkix/include/pkix/Input.h => security/pkix/lib/pkixder.h
rename : security/pkix/include/pkix/Result.h => security/pkix/lib/pkixutil.h
rename : toolkit/components/places/tests/unifiedcomplete/test_416211.js => toolkit/components/places/tests/autocomplete/test_416211.js
rename : toolkit/components/places/tests/unifiedcomplete/test_416214.js => toolkit/components/places/tests/autocomplete/test_416214.js
rename : toolkit/components/places/tests/unifiedcomplete/test_417798.js => toolkit/components/places/tests/autocomplete/test_417798.js
rename : toolkit/components/places/tests/unifiedcomplete/test_418257.js => toolkit/components/places/tests/autocomplete/test_418257.js
rename : toolkit/components/places/tests/unifiedcomplete/test_422277.js => toolkit/components/places/tests/autocomplete/test_422277.js
rename : toolkit/components/places/tests/unifiedcomplete/test_autocomplete_on_value_removed_479089.js => toolkit/components/places/tests/autocomplete/test_autocomplete_on_value_removed_479089.js
rename : toolkit/components/places/tests/unifiedcomplete/test_download_embed_bookmarks.js => toolkit/components/places/tests/autocomplete/test_download_embed_bookmarks.js
rename : toolkit/components/places/tests/unifiedcomplete/test_empty_search.js => toolkit/components/places/tests/autocomplete/test_empty_search.js
rename : toolkit/components/places/tests/unifiedcomplete/test_enabled.js => toolkit/components/places/tests/autocomplete/test_enabled.js
rename : toolkit/components/places/tests/unifiedcomplete/test_escape_self.js => toolkit/components/places/tests/autocomplete/test_escape_self.js
rename : toolkit/components/places/tests/unifiedcomplete/test_ignore_protocol.js => toolkit/components/places/tests/autocomplete/test_ignore_protocol.js
rename : toolkit/components/places/tests/unifiedcomplete/test_keyword_search.js => toolkit/components/places/tests/autocomplete/test_keyword_search.js
rename : toolkit/components/places/tests/unifiedcomplete/test_match_beginning.js => toolkit/components/places/tests/autocomplete/test_match_beginning.js
rename : toolkit/components/places/tests/unifiedcomplete/test_multi_word_search.js => toolkit/components/places/tests/autocomplete/test_multi_word_search.js
rename : toolkit/components/places/tests/unifiedcomplete/test_special_search.js => toolkit/components/places/tests/autocomplete/test_special_search.js
rename : toolkit/components/places/tests/unifiedcomplete/test_swap_protocol.js => toolkit/components/places/tests/autocomplete/test_swap_protocol.js
rename : toolkit/components/places/tests/unifiedcomplete/test_tabmatches.js => toolkit/components/places/tests/autocomplete/test_tabmatches.js
rename : toolkit/components/places/tests/unifiedcomplete/test_word_boundary_search.js => toolkit/components/places/tests/autocomplete/test_word_boundary_search.js
rename : toolkit/components/places/tests/unifiedcomplete/head_autocomplete.js => toolkit/components/places/tests/inline/head_autocomplete.js
rename : toolkit/components/places/tests/unifiedcomplete/test_autocomplete_functional.js => toolkit/components/places/tests/inline/test_autocomplete_functional.js
rename : toolkit/components/places/tests/unifiedcomplete/test_casing.js => toolkit/components/places/tests/inline/test_casing.js
rename : toolkit/components/places/tests/unifiedcomplete/test_do_not_trim.js => toolkit/components/places/tests/inline/test_do_not_trim.js
rename : toolkit/components/places/tests/unifiedcomplete/test_keywords.js => toolkit/components/places/tests/inline/test_keywords.js
rename : toolkit/components/places/tests/unifiedcomplete/test_queryurl.js => toolkit/components/places/tests/inline/test_queryurl.js
rename : toolkit/components/places/tests/unifiedcomplete/test_trimming.js => toolkit/components/places/tests/inline/test_trimming.js
rename : toolkit/components/places/tests/unifiedcomplete/test_typed.js => toolkit/components/places/tests/inline/test_typed.js
rename : toolkit/components/places/tests/unifiedcomplete/test_zero_frecency.js => toolkit/components/places/tests/inline/test_zero_frecency.js
rename : toolkit/components/places/tests/unifiedcomplete/xpcshell.ini => toolkit/components/places/tests/inline/xpcshell.ini
extra : rebase_source : dc06e25bcc95db43b5c5267d1b7e1065992ddd9c