Add offset() module to inset/outset polygons using Clipper (fixes #483).
bugfix: Make OffsetNode behave as AbstractPolyNode if a visitor doesn't handle it
Add test cases for offset().
Rename join_type "square" to the more commonly used "bevel".
Merge branch 'unstable' into offset
Merge branch 'unstable' into offset