Make data_feed_in and data_feed_in_proc packet parameter a const pointer

This patch corresponds to bf53457d in libsigrok.
Factored out feed_in_meta_logic
Factored out feed_in_logic
Renamed pv::SigSession::_state_mutex to pv::SigSession::_sampling_mutex
Added skeleton analog support
Added basic analog signal plotting
Viewport: Only zoom in/out at vertical wheel events

Viewport always zoomed the signals in and out on a wheel event. Moving the
scroll wheel up or down caused the intended effect of zooming in or zooming out,
respectively. This works flawlessly on mice with only a vertical wheel.

On mice with a horizontal or tilting wheel, horizontal scrolling or tilting was
still treated as zooming in and out. This created a non-intuitive experience,
as the user expects the signals to scroll left or right with this gesture.

Check to make sure the wheel event is a vertical one, and only then zoom in/out.
Do nothing if the wheel event is not vertical.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Viewport: Allow horizontal scrolling via mouse wheel tilting

On mice with a horizontal scroll wheel, or tilting wheel, enable the user to
scroll horizontally.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Moved pv::About into the pv::dialogs::About namespace
Tidied include of view in mainwindow.cpp
Moved data and snapshot classes into pv::data namespace
Added empty HwCap binding
Added empty HwCap dialog
Added Property
Added Enum property
Integrated property widgets with dialog
Added get/set support to Property and Enum
Added commit support to Binding
Added commit support to HwCap dialog
Implemented HwCap binding