Add MockWebMIDIAccessor so we can write a layout test for navigator.requestMIDIAccess()

We need to be able to write a reasonable layout test for the Web MIDI API's
navigator.requestMIDIAccess() method.  This allows us to test the important parts:
1) the then() method of the MIDIAccessPromise
2) success and error callbacks when basic and sysex access is requested
3) the basic attributes on mock input and output ports

BUG=none
TEST=(tested with additional chromium-side changes that layout test works with this mock)
R=abarth@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@153037 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Revert "Replace hasAttribute with the check for actual value"

This reverts commit 2c4fdb3d735d5d6519fe8fec97ff078ea5ec6371.

BUG=235256

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

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