Try to return instances of Geometry subclasses where possible instead of a generic Geometry instance.

This will  this will allow callers to directly use the returned instance without allocating another instance of a Geometry class from the JS object.
For all non-recognized geometries and null geometries the behavior of narrowToGeometry is left unchanged, only known subclasses of Geometry are turned into their respective GWT object representations.