Extract a minimal set of classes for observing the lifecycle of a context.

From ContextLifecycleObserver extract LifecycleObserver. From ContextLifecycleNotifier extract
LifecycleNotifier. From ScriptExecutionContext extract LifecycleContext.

Use these minimal classes to observe Page. In this case it is used to observe page visibility in the
Vibration API. When the page is no longer visible all running vibrations must be cancelled.

BUG=222504
R=abarth@chromium.org, loislo@chromium.org

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

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