Kernel-based Conditional Independence Test and Application in Causal Discovery