GUI and Controller implementations

1- Made all classes public (to solve accessibility problems) and
serializable.
2-Added method void refreshScreen(Grid copyOfGrid) in GUI.cs;
3- Added "make change" button and method to simulate modifications in
the grid.
4- In SimulationController.cs:
- Called constructor for _timer;
- Made action _onTimeTick public instead of private;
- Set default _state value to State.Stopped, and created a getter for
_state;
- Used method changeCrossingProperty to simulate modifications;
- Implemented start, stop and pause methods;
- Added method timerHasTriggered.