Added circle to illustrate shape interface
Removed shape interface from square, since it inherits from rectangle.
Removed square private data and use its parent's data through the public accessors.
Do not overwrite rectangle's accessors in square, only define the new side.
Removed class cons/destructors which are not used (tutorial is complex enough)
Removed color property from interface (tutorial is complex enough)