Improve panel tests by properly waiting for expected conditions.

Pulled logic from PanelActiveStateObserver into a base class for reuse.
Updated ActivatePanelOrTabbedWindow to apply to browserless panels.
Fixed DetachedPanelBrowserTest.DrawAttentionResetOnActivate to actually create detached panels.
Added guard in Panel::SetPanelBounds() to check if there is no change. Native layer doesn't always check (anymore).

TBR=thakis
BUG=140971,145428,145740,147536,147643
TEST=tests adjusted

Review URL: https://codereview.chromium.org/10914242

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156704 0039d316-1c4b-4281-b951-d872f2087c98
13 files changed