Make graph_objs.py compatible with new graph reference!

- created from @theengineear 's factories branch
- adapt graph reference INFO to new graph reference structure
- add doc content (e.g. links to plot.ly examples and parent keys for a given obj)

ack, i'm being annoying, it's unclear that this is returning something. Either we should 

1. `patch_annotations_class(Annotations)`

OR

2. `Annotations = get_patched_annotations_class(Annotations)`

i'm fine with either way.