Introduce movable icons and undo/redo-support

This adds the canvas code needed for the movable icons, for the GUI-changes see: https://github.com/ekmartin/Tacnet/pull/47

Introduces another canvas below the regular drawing canvas, which uses FabricJS for easy scaling, moving and rotating of objects. Also introduces undo/redo-functionality, bound to ctrl-z and ctrl-y.