Bug 859339 - blur reftests that don't need focus; r=dbaron

This patch opens a second window during non-remote reftests.  This second
window is used purely as a place to place focus when tests don't need
focus themselves.  Unfocusing the reftests windows when tests don't require
focus means that tests that ought to have needs-focus cause failures more
consistently.

We don't use a second window for remote reftests.  Even though we
theoretically could (on desktop platforms, for instance), our primary
remote reftest use-cases are for Android and B2G.  And those platforms do
not support multiple windows.