Change to feature detection instead of browser detection

This is a fix for Chrome Canary that no longer supports `node.noteOn`