Memristor: An Emerging Device for Post-Moore's Computing and Applications