Re-adds cancelling text annotation on right click. To achieve this,
some mechanisms that were previously used to handle live synced annotations
were rescued. So this partially reverts 40b18b0.
If a browser version can not handle the pointer events, it becomes detected and that browser uses the mouse event etc.
For these browser is no palm rejection provided. All other browser use the pointer events.
Cursor coordinates are calculated using the presentation SVG object
DOMMatrix. When getting this matrix, some browsers (Firefox at least)
responds it as null if the svg object does not have a visible area.
This adds a check before trying to transform the cursor coordinates
using the matrix inverse so we avoid calling a method from a null object.
If there isn't a DOMMatrix to be used as reference, returns a simple out of
bounds SVGPoint (-1, -1)
Make discardedList be updated on not only the side of the sender but also the side of receiver too
Add logic for preventing the size of discardedList getting bigger unlimitedly
Seperate the function 'contextMenuHandler' of drawing listeners into the service for reusability
Call the 'UndoAnnotation' method from Whiteboard-toolbar's service to use inside Whiteboard-overlay's draw listeners,
rather than initializing the same method inside Whiteboard-overlay's service to use
Make drawing annotations using the mouse right button inactive
Hide wb toolbar when there is no slide; fixed cursor's text clipping; fixed exceptions thrown on 'Clear All' by reactive-annotation container; fixed shapes' thickness scaling on zoom; fixed dimensions' data types sent to akka (it doesn't accept Doubles)