reorder tests to prevent stack overflow in IE, switch from Zepto to jQuery

Something sounds horribly wrong there. I think you are seeing state issues not recursion issues. Removing one or two entries does not prevent a stack overflow because there are orders of magnitude difference in behaviors.

The stack trace you showed me this afternoon looked like it was clearly addEventListener calling addEventListener. Was this not the case?

Also how does attachEvent play into all of this? Is that a new feature that needs to be added for IE support?