The Memristor: Past, Present and Future