Use Ruby-GraphViz to generate graphs

Using GraphViz lib gives us more flexibility and more API options when rendering. Leads to less confusion when comparing the state machine `meta` attributes and actual Graphviz options. Using the lib, we can directly map `meta` to the viz api.

Note: is based on previous two pull requests (#66 and #67).