Visualizer

Closes #89 

@rcrichton if you could please review?

All comments from https://github.com/jembi/openhim-core-js/pull/155 apply here.
Cool, so for the actual productised implementation I guess these could be defined by the various routes. We may need a way to group routes into a particular component (box).