Major structural changes. Control logic now handled in separate class,
ElevatorController, which has seperate internal classes handling guest
generation and elevator motion. These are run as threads, noticibly
improving performance, and will allow a new algorithm to be much more
easily implemented. Many convenience methods added to Elevator.
ElevatorGUI made a public class (used to be inside ElevatorSystem).