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)


@stefanv 
Each edge in the graph holds a property dictionary, having a method to pick out a specific value from each of those dictionaries might be less efficient than providing pointers to those dictionaries directly. In the former case we will do to passes over all the edges.