Cleaned up mouseleave and mouseenter, you can now have either, and hasmouse will be set whether or not any mouse(leave/enter) handlers where registered