[HTML Imports] Implement "load" and "error" events.

To implement event delivery, this change does

- Generalize HTMLLinkElement and LinkResource classes so that
  LinkImport class can reap the same plumblings as stylesheet link,
- Introduces HTMLImportsLoaderClient, which is impleented by
  LinkImport, so that HTMLImportLoader notfies the readiness to
  its client. HTMLImportsLoader is capable to multiple client
  for import sharing. In such a case, multiple LinkImport objects
  point same loader object.

In addition, this change refactors HTMLImportsController::createLoader
where instance creation and reuse is now hidden in this method
and callers no longer need to care about that.

BUG=240592
R=dglazkov
TEST=import-onload.html,import-onerror.html

Review URL: https://chromiumcodereview.appspot.com/22573005

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