An extensible, dynamic visualizer for various algorithms in singly-directed bipartite graphs