Implements Circle, Polygon, Rectangle, and Options classes. Implementation is not complete and javadoc is sparse. Putting this up to allow feedback to refine it.
The javascript objects are hanging on to a lot of copies of values, in the JS object, in the properties hash, then again in the fields.
In a number of cases I've found it best to access the property value direct from the javascript object to reflect any changes in the map, and this will be needed for editing to recover paths etc. You can edit the polygon by clicking on it.
I've also noticed that any properties set in the constructor are not in the properties hash. It doesn't seem to cause any problems yet, apart from trying to create new LatLongBounds objects out of LatLong objects.