[WIP] Support extending `Graph`, `Vertex` and `Edge`

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