Region Adjacency Graph

## Example Images
![figure_1](https://cloud.githubusercontent.com/assets/3823490/3291718/5ce9b952-f587-11e3-8c29-e2aace6d7794.png)
![figure_2](https://cloud.githubusercontent.com/assets/3823490/3291723/7074b134-f587-11e3-8c73-d28222891a21.png)


How about `weight_update_function`?

@vighneshbirodkar this function is not "to decide which edge weight to keep", but to determine how edges created or modified by the merge should be weighted.