Replace Timers used in ActiveDOMObject with AsyncMethodRunner

AsyncMethodRunner is a wrapper of Timer with simplified interface
for running methods asynchronously. It's mainly for use in
ActiveDOMObject subclasses.

Where suspend() and resume() are not implemented assuming other code
suspends timers, implement them to ensure they work even when those
external code doesn't suspend timers correctly.

BUG=none

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

git-svn-id: svn://svn.chromium.org/blink/trunk@160316 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add mkwst@ to Source/bindings/OWNERS.

NOTRY=true

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

git-svn-id: svn://svn.chromium.org/blink/trunk@160317 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove TreatNullAs=NullString for media interfaces

The spec doesn't have special null handling here:
http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html

The updated test was run in Firefox Nightly (with media.webvtt.enabled),
IE11 Release Preview and Opera 12.16 (Presto 2.12.388). Everything
passes, with these exceptions:

No other browser supports the mediaGroup property.

The preload default value is "metadata" in IE11 and Presto, and "" in
Firefox. The spec suggests "metadata". Bugs filed:
https://code.google.com/p/chromium/issues/detail?id=310450
https://bugzilla.mozilla.org/show_bug.cgi?id=929890

BUG=310298

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

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