Split off the legacy notification implementation in separate files.

This removes moves #ifdefs since webkitNotifications.createNotification()
now constructs a WebKitNotification object rather than a Notification
one. The majority of the implementation is now shared in a new common
base class, NotificationBase, with specific characteristics of the
legacy and actual implementations being implemented separately.

There are a number of Web observable changes in this patch. The new
Notification implementation now defines the "dir" and "tag" properties
as being read-only, following the specification. Legacy notifications
lost the additional IDL properties I gave it a week ago, and have lost
the close() method as well.

BUG=319906

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

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