Fix Blink API usage errors in WebMIDI implementation

The first error is not properly invoking ActiveDOMObject::suspendIfNeeded()
in MIDIInput and MIDIOutput, which are ActiveDOMObjects by virtue of their
inheritance of the MIDIPort class. This fixes the crashes seen in the attached bug.

The second error is a memory leak. The existing MIDIAccessPromise code
called ".release().leakRef()" on the RefPtrs holding the objects to be passed
to the callbacks. This results in a memory leak. Instead, we now explicitly
clear the RefPtrs after calling the callback.

Also removed unused MIDIPort::create method (MIDIPort is an abstract class).

BUG=282079

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

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