STT-BNN: A Novel STT-MRAM In-Memory Computing Macro for Binary Neural Networks