Remove duplicate code
Collision resolving starts at the same time

Previously the calculation of the next slot time began with the first
collision signal arriving to a device. Now the simulator waits until all
the devices have received the collision signal and then commands the
devices to handle the collision.
Refactor play/pause for simpler usage

For example there's now no need to call the toggle function in an event
context. Calling 'play' and 'pause' will also properly change the
play/pause button color.
Pause the simulation, when a collision happens
Create a separate telegram builder
Rename telegram 'target' to 'to'
Make packet sending more colorful

Each device currently sending has a specific color. The packets its
sending are also colored the same. The receiving device also changes its
color based on the receiving packet color.
Add number displaying packet transmit retry count