Support extending Graph, Vertex and Edge

- [x] Support extending `Graph`, `Vertex` and `Edge`
- [x] 100% test coverage
- [x] Documentation / changelog

Fixes #26.
Also refs #58.