I am also working on something similar. My project requires showing the completed node information and the upcoming potential owners. I got the idea of overlaying the image file by an icon (red triangle) from the console using different z-indexes. Current active nodes info added to the data found in NodeInstanceLog should provide much of the information required.
I am assuming one can parse the bpmn file using an xml parser, but I would prefer using KnowledgeBase APIs to find out the nodes, node parameters and metadata. You can get height,width,UniqueId,y,x using org.drools.definition.process.Node.getMetaData() (http://docs.jboss.org/jbpm/v5.3/javadocs/org/drools/definition/process/Node.html).
By the way, WorkItemInfo does not keep completed task data, so when a task is completed, there is no way to know who executed task of a certain node. What I am doing is storing the actor information (processInstanceId,nodeId,actor) in a table just before an actor is completing the task before it is lost forever.
Where I am struggling is getting potential owners from the process definition.I know potentialOwners does not represent the actual actor that will be completing a task but it would be nice to be able to show who (person or group) is tasked to do certain work. So far I have not found a method that provides this.