added Node.prototype.contains if it doesn't exist
added support for mouseenter & mouseleave events