new submodule: tulip.transys.export.graph2dot to move dot formatting code
move dot formatting methods to graph2dot functions
fix imports, rename functions in graph2dot module
update function calls in graph2dot
move pydot saving from LabeledStateDiGraph.save to graph2dot
rename function graph2dot -> _graph2pydot
new function graph2dot.graph2dot_str
move function labeled_graphs.plot_pydot to graph2dot.plot_pydot
move graphics imports from labeled_graphs to graph2dot
debug graph2dot to work again, use cStringIO to avoid unicode str returned by io.StringIO
move functions
fix indentation
reduce nesting
style
custom edge masking based on edge sublabel value
make for each sublabel optional the definition of a masking function
add masking function argument to FiniteStateMachine.add_inputs, MealyMachine.add_outputs, no masking in automata and transys
bugfix: update call to _pydot_missing after move to graph2dot
hide bool strategy outputs if false valued

The strategy is represented by a Mealy machine.
The previous commits added support for defining custom masking functions for edge sublabels, based on their values.
Defining a mask is optional.

Each output port is an edge sublabel with name, type, and optionally a value-based mask.
This changeset adds masking of all outputs based on the bool representation of their value.

Note: non-boolean variables in gr1cint need more care.
rm unused imports