Various fixes for scroll events

Also handle the `AT_TARGET` capture phase a little bit better than we did before (it should fire all event listeners)... although still not exactly equal to browser behaviour that executes event listeners in the order they were attached (we will execute all the `useCapture` true listeners first then the `useCapture` false ones).  Fixes #32.

@wheresrhys would you mind checking this code through?