Fix an important but subtle bug. Learned: array cannot be assigned
directly. whenever dealing with array, each element has to be assigned
individually if the original array is not supposed to be changed!
TODO: 
1. Fix the graphics bug when drawing the grid
2. Implement the 'isDirty' property in Config(Config should only be set
to be dirty in the application back-end, which is the GameModel.java
3. Work on the NewShapeWindowSidePanel.java
4. Implement the shapePreview label(override the paintComponent method?)