Merge pull request #135 from irskep/extensibility

Expose LC.shapeToJSON, LC.JSONToShape (fix #92)
All shapes take a single dict of args with defaults (fix #128)