Issue #954: Balloon Widget

Issue #954

Balloon will display above primitives that have the property `balloon` (storing the content of the balloon as a string), and either the function `computeScreenSpacePosition` or `getPosition` (to tell the balloon where to be positioned on screen)

note: sanitation of the HTML balloon content still needs to be done