Pointer events, rebased

rebased PointerEvent pull request