Text this: A Comprehensive Review of Processing-in-Memory Architectures for Deep Neural Networks