Fix C compilation
OPENNITWO-493: Single pixel translation is wrong when image res is 1280x1024
Link console: allow running a single command and exit
1. Stop streams when closing device.
2. Fixed crush when destroying VideoStream object after sensor closed.
3. Fixed crush when rewinding on file playback.
Submodule update
Merge branch 'develop' of ssh://git/localhome/GIT/Software/OpenNI2 into develop
Merge branch 'develop' of ssh://git/localhome/GIT/Software/OpenNI2 into develop
Merge branch 'develop' of ssh://git/localhome/GIT/Software/OpenNI2 into develop
Merge branch 'develop' of ssh://git/localhome/GIT/Software/OpenNI2 into develop
Support gold linker in compilation
Update PSCommon (fix Linux non-highres timers)
Bug Fix: no even frame indexes from Capri devices.
Merge remote-tracking branch 'origin/propertiesFix' into develop
Update version to 2.3.0.1
Added mirror support for Kinect.
Color, Depth, and IR streams are supported.
No performance regression was observed.
Better encapsulation of Windows & NUI dependent stuff related to depth-to-image coordinate conversion within KinectStreamImpl.
* KinectStreamImpl::getNuiSensor() is finally eliminated.
* Other Windows & NUI types are more privately hidden.
* Besides, the image registration performance got a little better!
Sorry for fixing another bug of image registration x cropping combination.
Extended property support for Kinect.
* Supported properties
 * 3D sensing properties: Near Mode, IR Emitter On/Off
 * Non- 3D sensing properties: Camera Elevation, Accelerometer, Audio Array ID
* API header KinectProperties.h is added. This is a sibling of other private property headers
  such as PrimeSense.h, PS1080.h, etc.
  (Suffix "Properties" is included in the file name for more clarity.)
* The first 4 hex digits of these properties are 0xx45e, taken from Microsoft's USB vendor ID.
* NiViewer's toggleCloseRange now supports Kinect using these properties.
* IR emitter on/off is added to NiViewer for both PS1080 and Kinect.
* Design notes
 * I struggled if I should reuse the properties of the same meanings in PS1080.h
   (i.e. XN_STREAM_PROPERTY_CLOSE_RANGE and XN_MODULE_PROPERTY_EMITTER_STATE).
   The confusion was, although PS1080.h seemed to be private for PS1080 Driver,
   it was included and used in Kinect Driver also (e.g. XN_STREAM_PROPERTY_CONST_SHIFT).
   I eventually decided not to reuse them assuming PS1080.h was actually supposed to be
   private, and its use in Kinect Driver was a "hidden hack" to make NiTE work.
   If my reading was wrong, please let me know. I will be more than happy to fix.
 * Passing a bool type value to setProperty for an OniBool type property may fail
   because bool and OniBool are actually different in size (1 byte vs. 4 bytes).
   You can workaround this issue by explicitly specifying the data type like
   setProperty<OniBool>(). For the same reason, you cannot get an OniBool type
   property into a bool type variable.
   (This is confusing and hope we can improve this in the future.)
 * Fixed a bug in XnDeviceModule.cpp that caused a crash when reading
   XN_MODULE_PROPERTY_EMITTER_STATE from a PS1080 device, which I found
   while enhancing NiViewer.
modified implicit narrowing cast to explicit cast

Signed-off-by: Eddie Cohen <eddie.cohen@primesense.com>
More readable IR&Depth resolution match check