added requirement for graphviz / dot
added visualization of component states and .gitignore for rendered output