Simulating complex ion channel kinetics with IonChannelLab