Also, the sensing command is one byte per 300ms. That's irritating when you have to deal with it personally in real time, but for a modern computer, that's peanuts.
Firefox shouldn't crash indeed. The crash was usually due to a memory leak in the browser's Web MIDI implementation when handling constant stream disconnects/reconnects.