Fixing issue with firefox not having offsetX/offsetY, better positioning when target element has children with padding