function addEventListener (element, action, listener, useCapture) {
  if (element.addEventListener) {
    if (useCapture === undefined) { useCapture = false }

    if (action === 'mousewheel' && isFirefox()) {
      action = 'DOMMouseScroll' // For Firefox
    }

    element.addEventListener(action, listener, useCapture)
    return listener
  } else if (element.attachEvent) {
    // Old IE browsers
    const f = () => listener.call(element, window.event)
    element.attachEvent('on' + action, f)
    return f
  }
}
Add an event listener. Works for all browsers
@param {Element}     element    An html element
@param {string}      action     The action, for example "click",
                                without the prefix "on"
@param {function}    listener   The callback function to be executed
@param {boolean}     [useCapture] false by default
@return {function}   the created event listener