PENTrack - a simulation tool for ultra-cold neutrons, protons and electrons