Battery Status API: blink promise implementation and layout tests.

Implement Battery Status API using promises in blink as
according to the (modified) spec:
https://dvcs.w3.org/hg/dap/raw-file/tip/battery/Overview.html.
Using this patch the Battery Status API is accessible using:
navigator.getBattery().then(...) syntax.

Also added layout tests for the various use-cases.

BUG=122593, 360068

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

git-svn-id: svn://svn.chromium.org/blink/trunk@176222 bbb929c8-8fbe-4397-9dbb-9b2b20218538