Allow Geoshapes to be parsed from a variety of formats

This allows Geoshapes to be extract from a java `List`, or parsed from `"point[123,456]"`, `"circle[123,456,789]"`, and `"box[12,34,56,78]"`.

Fixes #572