Create ComponentDefinitions

Create entities as ComponentDefinitions and use Model#place_component
to allow user to use the mouse to place the instance. Fixes #35 
One thing though, I wonder if `place_component` isn't playing nice with the undo stack. Have you noticed this?