CMakeLists.txt: Fix CMAKE_MODULE_PATH related issue.

Append to CMAKE_MODULE_PATH instead of overwriting it, in case it is
non-empty initially (which can happen e.g. if -DCMAKE_TOOLCHAIN_FILE is
used and the specified toolchain file sets CMAKE_MODULE_PATH).

Also, append to CMAKE_MODULE_PATH _after_ running "project(pulseview)",
since the latter would apparently reset CMAKE_MODULE_PATH again.

This should fix a MinGW-w64 build issue we're currently seeing:

  CMake Error at CMakeLists.txt:105 (include):
    include could not find load file:

      memaccess
CMakeLists.txt: Fix MinGW-w64 build issue related to QtSvg.

Specify the QtSvg requirement in the 'find_package(Qt4...)' line.

Also, change the linking order in the MinGW-w64 case, apparently the
build now fails without this.

  [...]/qt/plugins/imageformats/libqsvg.a(qsvgiohandler.o):\
			qsvgiohandler.cpp:(.text+0x571):
  undefined reference to `QSvgRenderer::load(QByteArray const&)'
  [...]
Fix device removal in DeviceManager::driver_scan()
Fix bug #285 by handling device display names through DeviceManager
Currently, DeviceManager::device_description() is used to determine
how a device should appear in the device selector combobox. This is
problematic because bug #285 requests that a device should show
the extra information only when multiple such devices are present.
Without having access to all devices attached to a particular driver,
this cannot be solved.

This patch makes it possible by creating each device's display name
in the DeviceManager class and storing it there. This way, they
can be constructed while having access to all devices and
transparently queried by anyone who needs them.

With this, bug #285 can easily be solved.
Replace map by list to preserve device order
Update description for Trace::get_label_rect()
DecodeTrace: Turn row_height and text_height into class variables
DecodeTrace: Refactor sample helpers and simplify method calls
DecodeTrace: Provide tool tip for annotations