I understand that this is from almost 8 years ago, but maybe this can help another intrepid traveller.
We had to move away from GeoTools because it's LGPL, which is not allowed by our legal folk.
I just moved our code to use proj4j (https://trac.osgeo.org/proj4j/). It doesn't look like it's being actively developed, but it works for our simple needs. Also, the license is Apache 2.0, which is much more permissive.
It's available via Maven, so that makes it easy: http://search.maven.org/#artifactdetails%7Corg.osgeo%7Cproj4j%7C0.1.0%7Cjar.
It doesn't directly support EPSG:900913, since it's not really the official standard. It does support EPSG:3857, which is the same thing.
Here's a snippet doing what you're looking for:
public Point2D.Double transform(Point2D.Double point, String sourceCRS, String targetCRS) {
Point2D.Double destPosition = new Point2D.Double();
CRSFactory factory = new CRSFactory();
CoordinateReferenceSystem srcCrs = factory.createFromName(sourceCRS); // Use "EPSG:3857" here instead of 900913.
CoordinateReferenceSystem destCrs = factory.createFromName(targetCRS); // Use "EPSG:4326 here.
CoordinateTransform transform = new CoordinateTransformFactory().createTransform(srcCrs, destCrs);
ProjCoordinate srcCoord = new ProjCoordinate(point.getX(), point.getY());
ProjCoordinate destCoord = new ProjCoordinate();
transform.transform(srcCoord, destCoord);
destPosition.setLocation(destCoord.x, destCoord.y);
return destPosition;
}