Create roles graph.

This graph shows information about roles, users, and sources. It will
graph out the relationships between them making it easier to visually
determine who has access to what, and what is granting access to who.
The graph supports panning and zooming as the tree can get fairly large.

Currently you can only define a start_type:

/roles/graph/?start_type=role

Start types are "role", "source", "user". The start type determines what
the initial node of the graph is, and thus how the relationships are
laid out in the tree.

TODO:
- Make all nodes collapsed by default.
- Make the node defined with "start_node" expanded by default.
- Make the node defined with "expansion_node" expanded by default.
- Make labels into links that will restructure the graph.
    - Ex: Clicking on a username will set start_type to "user",
          start_node to the node associated with that username.