dynamical billiards python