Extensible shape API
All shapes take kwargs instead of args, except LinePath
Fix some things
Merge pull request #127 from irskep/extensibility

Extensible shape API