Separate shape components into their own files.

Update readme