I have implemented a first version of buoyancy (at the moment only a single point is evaluated for each object). Buoyancy is implemented as a component, this means that you can drag any static mesh into the level, add the Buoyancy component like this:
and the object will float:
watch?v=5s3pA1vH2ZU
The Buoyancy component automatically calculates the center of gravity of the object and makes it move with the water surface.
Here is a large screenshot because Youtube compression eats all the detail: