Initial implementation of modules and services and a central websocket server
basic servicing and websockets working
Merge remote-tracking branch 'origin/ui_enh_vis_controls'

* origin/ui_enh_vis_controls: (25 commits)
  Implemented triggers for map and used them for UI
  Clean up the code some
  Move creation of controls from application to library
  For now do not create an entry for the center or the source
  Found a workaround for not getting mouse up events on scroll bar
  Fixed style
  Fixing how we handle mouse events
  Removed the padding from the control pannel
  Fixed styling
  Added missing file
  Use table layout fixed
  Got some of the view-controls working
  Adding support to set center of map via UI
  Added useful API to query state of boundries visibility
  Implemented multi-geometry feature and got toggle country boundries working
  Added UI to toggle country boundries
  Fixed zoom not respecting camera's current position
  Added option to zoom via UI
  Various UI improvements
  Added country boundries to the map
  ...
Adding tests for VGL
Adding simple test for VGL
Fixing various issues
Changed how websockets are routed, streaming service WIP

initial work on streaming cdms matplotlib image as a service
Fixed some streaming bugs WIP, added temp dir
Get data dir from config, use temp dir for image
Streaming via service now working, documentation/cleanup to come
Implementing compute bounds for mapper and actor
Fixed various issues with bounds calculations
Renamed for better
Use the data path directly
Provide a convenient method to mark bounds dirty
Fixed bug where source data is found using the index and not by key
Implemented bounding calculations for groupMapper
Fixed CMake issues
Clean up cmake file
Adding cmake code for testing