Added concept of 'entity' which is a base object. Added concept of 'Shape' which will define how an entity is drawn
partial update to canvas methods to handle entity and shapes