You could look at the OpenLayers API, particularly the Geometry classes. You can check for intersects, and have access to vertices etc. I've implemented point buffers in the past just with OpenLayers. Unions may be trickier though.
For more complex operations you may want to do the processing server-side, and pass results back in WKT or GeoJSON, both of which OpenLayers can display. See this Union tutorial for an example.
If you need this for Google AppEngine, from what I read, JTS is officially compatible with Google App Engine. There is a basic demo at http://giscloud.appspot.com/