Preparing for droplets

I added an agentscript DataSet to the water model that keeps track of patch elevation as water levels change. This is in preparation for modeling water as droplets on a changing terrain.

After starting the model, click on Show Slopes to see three canvases: a representation of slope that gets updated locally whenever a patch volume changes, a fresh calculation of slope, and the difference between the two. They're identical, except when the water starts to reach the boundary, so I must be doing something wrong in updateSlopeAndAspect().

If we go with this approach, there are definitely ways to optimize updateSlopeAndAspect().