Grouping and Ungrouping Working

#16 
-changed the pointset within basic shape to be an arraylist
-changed selecting so when you select shapes after you've already
selected some, it unselects the others
-you can group shapes, it will add a group to the arraylist and remove
the selected shapes
-you can ungroup shapes, it will remove the group from the arraylist and
add the shapes within the group