Introduce WindowShowType which specifies the ash specific window show state.

* define separate file for WindowStateObserver.

Next step.
* Change auto placing code to update the state.
* Notify observers when ash specific state has changed.
 Fix code and tests.

BUG=272460
R=jamescook@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@225870 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 225870