Implement shape drag-and-drop

A user may find it useful in some cases to drag and drop a whole shape, instead
of moving each vertex separately. This patch implements shape drag-and-drop by
pressing and holding the right mouse button. Point inclusion algorithm should
work for non-convex and convex polygons, as suggested in
http://www.cs.tufts.edu/comp/163/notes05/point_inclusion_handout.pdf
Merge branch 'shape-drag' of github.com:vliaskov/libremapping

Conflicts:
	MapperGLCanvas.h
	Shape.h
Renamed sourceSplitter for resourceSplitter
Increased min. width/height fo canvases and set them to 16:9
Added unique ids to Mapping and Paint
Added Layers (model side)
Checkbox for toggling visibility of layers (+ some cleanup)
Reordering of layers with drag and drop
GLCanvas: Implement sticky vertex movement

If the vertex of the current Shape is being moved, it may be useful to "glue" it
to a vertex of another shape, if the 2 vertices are close together. This patch
implements this. THe sticky-sensitivity is controlled by the dist_stick
variable, which is currently hardcoded but could be made configurable e.g.
through the GUI.

The patch also uses a new pure virtual method called getShapeFromMappingId(),
which is implemented by Source / Dest Canvas subclasses. getCurrentShape() is
now using this function, so it is now a non-virtual function in MapperGLCanvas.
Merge branch 'sticky-vertices' of github.com:vliaskov/libremapping into develop

Conflicts:
	Shape.h
	SourceGLCanvas.cpp
Merge branch 'master' into develop
Fixed seg fault on exit due to MainWindow singleton
Adjust scalings of splitter elements
Generalized the use of Mapper from within DestinationGLCanvas
Added method MainWindow::updateAll() to update the canvases
Small fix: was using mapping id instead of layer id in addLayerItem() call
Add map of mappers (forgot to include it in earlier commit)
Replaced signal quadChanged for shapeChanged
Added basic properties widget for current selected mapper (bidirectional update of input shape vertices, though wrongly initialized)
Initialize MainWindow instance in main.cpp