Added support for OpenH264v1.2
Fixed OpenH264 detection script.
wlfreerdp: add keyboard and mouse wheel support, fix bugs

This commit does the following:

* fix the keyboard logic (which now fully works), add support for vertical mouse wheel events ;
* make the rendering a lot more efficient, by using RDP damage information to refresh only the relevant part of the buffer ;
* fix two race conditions. wlfreerdp should not crash anymore now ;
* fix shm_open() and shm_unlink() calls ;
* improve the code style.

Signed-off-by: Manuel Bachmann <tarnyko@tarnyko.net>
Merge pull request #2232 from Tarnyko/master

wlfreerdp: add keyboard and mouse wheel support, fix bugs
tsg: fix segfault

Revert false positive from commit 585d9101b752e4ec525339e5c5addfddb519760d
buffer shouldn't be freed since it is set and used in a stream.
crypto: revert pull request #2130

The fix in #2130 eliminates the problem when connecting over a gateway
but introduces other problems server side and client side (client/server
can't detect anymore when a TCP connection was closed).
transport: handle all return values of tsg_read

tsg_read can also return 0 which means that no data (complete PDU) is
currently available. This case wasn't handled properly.

Fixes #2056
tsg: unwind recursion in tsg_read
tsg: rpc_send_enqueue_pdu always free buffer

rpc_send_enqueue_pdu returns -1 on error but the type of error isn't
distinguishable. Therefore make sure that the buffer gets always freed.
The only exception to this is when the pdu was already queued. Then the
dequeuing function should take care of freeing the buffer when
processing the pdu.
tsg: fix possible free of initialized memory
Merge pull request #2234 from bmiklautz/fix/tls

Transport and tsg fixes
Merge pull request #2225 from akallabeth/openh264_fix

Openh264 v1.2 API
Merge branch 'master' of github.com:FreeRDP/FreeRDP
Rename tcp-functions as they are conflicting with qemu functions
Merge pull request #2236 from marioli/master

Rename tcp-functions as they are conflicting with qemu functions
core client side: set flag to crypt license

Client side code always tells the server that it is capable of processing
encrypted licensing packages (SEC_LICENSE_ENCRYPT_SC) but didn't set
the recently added flag to indicate that.

Fixes #2196
xfreerdp: several fixes for panned/pinched drawing

- use bilinear filter instead of nearest filter
- fixed invalid transformation matrix
- support non-proportional scaling
- fix calculation of transformed coordinates (rounding errors)
xfreerdp: remove duplicated drawing operations

Most of xfreerdp's hw gdi callbacks did the the same X11 drawing operation
twice: Initially on the primary pixmap to keep the back buffer up to date
and then directly on the window in order to see the result.
This sequence is followed by a call to gdi_InvalidateRegion() to mark the
rectangular area of the drawing operation.
Since in xfreerdp's current design (or better current evolved state) the
backbuffer pixmap is obligatory, all drawing operations directly targeting
the window are redundant because of the subsequent EndPaint (mapped to
xf_hw_end_paint) where the damaged region is copied from the backbuffer
to the drawable.

- removed X11 drawing operations which directly target the window drawable
- fixed some errors in the calculation of the required update regions
xfreerdp: added smart sizing, mt gesture fixes

- removed setting ScalingFactor
- added settings SmartSizingWidth and SmartSizingHeight
- changed option /smart-sizing to optionally support <width>x<height>
- consolidated transformation of input event coordinates
- rdp8 gfx ignored scaling and panning offsets: fixed
- never resize window on panning/pinching
- simplified keyboard multitouch gesture debugging emulation
- disabled keyboard multitouch gesture emulation debug code via define
Fixed missing extern C