a polyfill for supporting pointer events on every browser