refactor ZhangSynapse class to seperate the calculation of the rate and the spike generation. This allows to simulate multiple spike train instantiations from the same underlying rate.