Memristors, Spintronics and 2D Materials for Future Computing Systems