Neuromorphic computing: Devices, hardware, and system application facilitated by two-dimensional materials