Implement window management devtools commands for headless.

These commands are used by chromedriver to change window bounds (size, position) and state (normal, minimized, maximized, fullscreen).

1. add window state to HeadlessWebContentsImpl to track window states change.
2. add window id to HeadlessWebContentsImpl as an unique id used by the commands.
3. window size doesn't change when its state changes.

BUG=604324

Review-Url: https://codereview.chromium.org/2896763002
Cr-Commit-Position: refs/heads/master@{#474601}
13 files changed