Advanced digitizing tools (aka CAD tools)

This integrates CAD tools in QGIS application.

This is roughly the port of CADinput plugin to core, with some fixes and improvements.

A QEP has been issued: https://github.com/qgis/QGIS-Enhancement-Proposals/pull/8
@3nids it's probably worth mentioning that I plan on adding a QgsLineEdit widget which has built in support for evaluating expressions too.